sqlite - 数据库性能: varchar index vs integer order column

标签 sqlite database-design

我在 Android 应用程序中使用 SQLite 数据库。我有一个大约有 500 行的非变量表。我想查询按 varchar 列排序的这些行(按字母顺序)。

什么会更快:

  • 在该列上添加索引

  • 要在内存中对这些数据进行排序,然后使用整数排序列进行持久化吗?

我的第一个方法是添加索引,但后来我研究发现 varchar 列上的索引效率不高。

谢谢。

最佳答案

当您使用排序列您正在查询的所有其他列创建索引时,您将拥有 covering index它允许以正确的顺序检索行,无需排序,也无需在表中查找行。

也就是说,500 行很小。 我预计不会有任何明显的差异。

关于sqlite - 数据库性能: varchar index vs integer order column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28674233/

相关文章:

ruby-on-rails - 轻量级内存数据库

mysql - 为什么第二次运行 MySQL 查询速度更快?

java - 使用 Neo4j 和 Mysql 构建社交网站

Android:在 ContentProvider 中处理非常大的数据集以避免内存限制

python - 在 Python 3 中使用 SQLite 的 FTS3/4

java - 应用程序在 Android/SQLITE 错误中停止/

mysql - [MySQL] : table view or actual table.(跟踪主键)

sql - SQLite-选择具有特定字段值的最新行

mysql - 了解mysql解释

mysql - 如何设计我的数据库?关于编辑历史