哪个表列要索引?

时间:2011-02-07 08:28:23

标签: sqlite

我有一张包含A,B,C,D列的表。

我有一个应用程序,可以在表格的所有列中搜索单词。

如果我想索引表以便搜索更快,我应该索引哪一列?

index命令的外观如何?

修改 实际上,我有27列语言(例如英语,德语等)。我有一个应用程序,它搜索所有语言的单词并返回结果。

如何为此表编制索引以确保更快的搜索结果?

4 个答案:

答案 0 :(得分:3)

您需要在所有列上使用全文索引。

不幸的是,SQLite默认情况下不支持全文索引。您必须在启用可选的全文索引支持的情况下编译它。

尽管可能只是指向SQLite的全文索引文档,但这里它们是: http://www.sqlite.org/fts3.html

答案 1 :(得分:0)

如果数据库支持,则应使用全文索引,或者使用“create index”语句在每列上添加“普通”索引。语法可能因数据库而异,所以我不能在这里给你一个代码示例。

答案 2 :(得分:0)

你们只有那些专栏吗? 你的数据库有多大?您的数据刷新的频率。 您正在执行什么类型的查询(主要是查询)。 你的数据库引擎是什么?

您对这些问题的回答可能会导致, 根本没有索引, 这四列中每一列的索引, 全文索引。

答案 3 :(得分:0)

请注意以下链接:

SQL Performance Tuning using IndexesThe SQLite Query Planner

特别是该部分   在第一个链接中构建最佳索引

您可能需要考虑4个索引的选项,每列一个,因此您可以使用所需的索引进行排序。