当前位置: 代码迷 >> 其他数据库 >> 请问一个SQLITE like语句优化有关问题
  详细解决方案

请问一个SQLITE like语句优化有关问题

热度:110   发布时间:2016-05-05 08:15:54.0
请教一个SQLITE like语句优化问题
现在数据库数据记录较多,大概10w个记录,在使用LIKE查询时,每次耗时600多ms,而且我还会查询多次,导致程序较缓慢,请问如何优化类似的LIKE语句呢?使用后缀的匹配关键字“abc”字符串,如:
select * from filetable where name like '%abc';
谢谢各位!
------解决思路----------------------
like '%xxx 
这种无法优化,只能全表扫描。


考虑一下修改表设计
------解决思路----------------------
引用:
现在数据库数据记录较多,大概10w个记录,在使用LIKE查询时,每次耗时600多ms,而且我还会查询多次,导致程序较缓慢,请问如何优化类似的LIKE语句呢?使用后缀的匹配关键字“abc”字符串,如:
select * from filetable where name like '%abc';
谢谢各位!


可以再增加一列name_tmp,存储name的反串,比如存储的是 cbaxxxx值,跟name字段反着,然后在name_tmp字段建立索引,这样查询的时候可以使用select * from tablename where name_tmp like 'abc%';这样的话,也可以间接走name_tmp字段的索引。
  相关解决方案