我有一张包含A,B,C,D列的表。
我有一个应用程序,可以在表格的所有列中搜索单词。
如果我想索引表以便搜索更快,我应该索引哪一列?
index命令的外观如何?
修改 实际上,我有27列语言(例如英语,德语等)。我有一个应用程序,它搜索所有语言的单词并返回结果。
如何为此表编制索引以确保更快的搜索结果?
答案 0 :(得分:3)
您需要在所有列上使用全文索引。
不幸的是,SQLite默认情况下不支持全文索引。您必须在启用可选的全文索引支持的情况下编译它。
尽管可能只是指向SQLite的全文索引文档,但这里它们是: http://www.sqlite.org/fts3.html
答案 1 :(得分:0)
如果数据库支持,则应使用全文索引,或者使用“create index”语句在每列上添加“普通”索引。语法可能因数据库而异,所以我不能在这里给你一个代码示例。
答案 2 :(得分:0)
你们只有那些专栏吗? 你的数据库有多大?您的数据刷新的频率。 您正在执行什么类型的查询(主要是查询)。 你的数据库引擎是什么?
您对这些问题的回答可能会导致, 根本没有索引, 这四列中每一列的索引, 全文索引。
答案 3 :(得分:0)
请注意以下链接:
SQL Performance Tuning using Indexes和The SQLite Query Planner
特别是该部分 在第一个链接中构建最佳索引
您可能需要考虑4个索引的选项,每列一个,因此您可以使用所需的索引进行排序。