您现在的位置:首页 --> 查看专题: like
like用的是 ‘%xx%’, 不符合前缀匹配的规则,因此用不上索引title,只能作全表扫描。以上为官方回答。但是如果是在 InnoDB这种聚集索引组织的表中,假设这个表单行很大,比如后面还有若干个类似memo的字段。 这样聚集索引会很大,导致全表扫描需要读更多的磁盘。而理想情况应该是这个流程 1) 遍历title索引,从中读取和过滤所有title中匹配like条件的id 2) 用id到聚簇索引中读数据。在单行很大,而like能够过滤掉比较多语句的情况下,上面的流程肯定比全表扫描更快,也更省资源。
1. like %keyword 索引失效,使用全表扫描。但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描。 2. like keyword% 索引有效。 3. like %keyword% 索引失效,也无法使用反向索引。
[ 共2篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
-
[357] WordPress插件开发 -- 在插件使用 -
[152] 解决 nginx 反向代理网页首尾出现神秘字 -
[96] IOS安全–浅谈关于IOS加固的几种方法 -
[52] Hacker News 排名算法工作原理 -
[51] cookie窃取和session劫持 -
[49] 到底什么是MVC? -
[47] Shell的那些事儿 -
[47] 程序员技术练级攻略 -
[47] 二维码的生成细节和原理 -
[47] 浅谈MySQL索引背后的数据结构及算法
赞助商广告