2011-05-19 90 views
3

我的android应用程序需要频繁访问sqlite数据库。我在想如果有一种方法来索引数据库以更快地访问数据。哈谁在android中完成索引数据库?请建议我这样做的最佳方式?android数据库索引

难道真的需要作为我们本地设备上的所有数据库,甚至运行的查询,每次也花不了多少时间。

RGDS, 萨班

回答

6

SQLite支持CREATE INDEX语句:

http://www.sqlite.org/lang_createindex.html

如:

create index foo_bar_idx on foo(bar); 

对于当一个查询规划将决定进行了深入的讨论要使用索引,请尝试使用PostgreSQL文档:

http://www.postgresql.org/docs/9.0/static/indexes.html

它不会在SQLite中完全相同的方式工作,但总的想法是一样的:

  • 对于微小的表,读取整个表是通过索引扫描比快。
  • 对于按/限制的订单,请在排序中使用的字段上创建索引。
  • 对于加入/其中,您希望在连接/其中使用的字段上的索引。
+0

所以,如果我创建的所有表的索引,那么每次我做一个SQLite查询只会搜索索引并返回结果,这将更快。你是这个意思吗? – Sapan 2011-05-19 05:59:04

+0

不可以:我的意思是说,如果你创建一个索引,它只会在计划者认为它有用的时候才使用。考虑阅读postgres文档的链接。 – 2011-05-19 17:19:54