问一下有对数据查询有研究的大师,一般情况下,使用sql进行模糊查询的时候,喜欢使用like '%abc%'。但个人感觉这应该不是最优的。有没有哪位资深人士给提供一个最优解决方案?
1条回答 默认 最新
- clxy大叔 2012-12-20 17:09关注
非资深,随便谈。
模糊查询通常有下面三种
1.前匹配: like %abc
2.后匹配: like abc%
3.全匹配: like %abc%只有第一种,可以用到DB的索引(如果你有的话)。
后两种是全表走查,所以性能会差。也没什么能优化的。
这里的差是相对的,比如我有过千万级数据的模糊查询的实现。条件是那个查询不常用;异步显示查询结果;客户也明白且接受那个速度。如果成为问题且需要解决,网上搜关键字“全文检索”。
大体上是DB层面上的话,- 用插件比如MySQL
- 买付费功能比如Oracle(本来就死贵的来着)
或者脱离开DB,上全文检索引擎比如Lucene之类的。
(需要注意中文和英文的区别)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
- ¥20 关于URL获取的参数,无法执行二选一查询
- ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
- ¥15 marlin编译错误,如何解决?
- ¥15 有偿四位数,节约算法和扫描算法
- ¥15 VUE项目怎么运行,系统打不开
- ¥50 pointpillars等目标检测算法怎么融合注意力机制
- ¥20 Vs code Mac系统 PHP Debug调试环境配置
- ¥60 大一项目课,微信小程序
- ¥15 求视频摘要youtube和ovp数据集