现在数据库数据记录较多,大概10w个记录,在使用LIKE查询时,每次耗时600多ms,而且我还会查询多次,导致程序较缓慢,请问如何优化类似的LIKE语句呢?使用后缀的匹配关键字“abc”字符串,如:
select * from filetable where name like '%abc';
谢谢各位!
...全文
4713打赏收藏
请教一个SQLITE like语句优化问题
现在数据库数据记录较多,大概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字段的索引。