SQLite:应该使用’searchstr%’使用索引吗?
我有一个DB有几个字段
word_id — INTEGER PRIMARY_KEY word — TEXT ... ..和?150k行. 因为这是一个字典,我正在使用LIKE搜索一个带有’search_string%’的掩码的单词. … WHERE字LIKE’search_string%’ 成 … WHERE word> =’search_string’AND word< 'search_strinh' 通过增加搜索字符串的最后一个字符.大于和小于运算符可以使用索引,其中LIKE不能. 不幸的是,这在一般情况下将不起作用. LIKE运算符不区分大小写,这意味着’a’LIKE’A’是真的.上述转换会破坏大写字母的任何搜索字符串. 然而,在某些情况下,您知道区分大小写与特定列无关,上述转换是安全的.在这种情况下,您有两个选项. 这些行为之一将使SQLite透明地为您进行上述转换;您只要一直使用LIKE,SQLite将重写底层查询以使用索引. 您可以在SQLite Query Optimizer Overview page上阅读更多关于“LIKE优化”的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |