请教一个SQLITE like语句优化问题

黑色coder 2014-09-27 10:05:46
现在数据库数据记录较多,大概10w个记录,在使用LIKE查询时,每次耗时600多ms,而且我还会查询多次,导致程序较缓慢,请问如何优化类似的LIKE语句呢?使用后缀的匹配关键字“abc”字符串,如:
select * from filetable where name like '%abc';
谢谢各位!
...全文
471 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
九月茅桃 2014-09-28
  • 打赏
  • 举报
回复
引用 楼主 bl1983127 的回复:
现在数据库数据记录较多,大概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字段的索引。
黑色coder 2014-09-27
  • 打赏
  • 举报
回复
网上搜了一下,好像方法不多
ACMAIN_CHM 2014-09-27
  • 打赏
  • 举报
回复
like '%xxx 这种无法优化,只能全表扫描。 考虑一下修改表设计

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧