关于 $like = '%'.$search.'%';如果前后都使用%的话,没有索引效果,如果去掉前面的%号,这样会不会更合适一点?

这个问题曾经被面试问到过,后来查百度,如果只在后面%号的话,查询语句会使用到索引

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
leo
最佳答案

我们这里搜索的字段都没有加索引,所以有没有前面的百分号都是一样的。

实际上真实的项目不会这样做商品的搜索,只不过限于篇幅原因这里先简化的了,在下一本进价的书里面我会介绍更专业的搜索方案。

5年前 评论
讨论数量: 7
leo

我们这里搜索的字段都没有加索引,所以有没有前面的百分号都是一样的。

实际上真实的项目不会这样做商品的搜索,只不过限于篇幅原因这里先简化的了,在下一本进价的书里面我会介绍更专业的搜索方案。

5年前 评论
leo

我们这里搜索的字段都没有加索引,所以有没有前面的百分号都是一样的。

实际上真实的项目不会这样做商品的搜索,只不过限于篇幅原因这里先简化的了,在下一本进价的书里面我会介绍更专业的搜索方案。

5年前 评论

@leo 下一本什么时候能出来?

5年前 评论
leo

@lianglunzhong 大概是 8、9 月

5年前 评论

@leo 加油,快写吧,好多人都等着商城的进阶教程呢。辛苦啦。

5年前 评论

你自己可以加上 ES 搜索

5年前 评论

非常期待 mysql 做持久化, es 做搜索支持的进阶课程!

5年前 评论

学习环境基本不用考虑速度问题,表内几百条数据是否使用索引或全表扫描区别不大。

当真正有一定数据量时,不用说like %keyword%,像or也是不能出现的。

最终还是要使用ES

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!