您现在的位置:首页 --> 查看专题: 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天十大热文
- [697] Go Reflect 性能
- [24] 正态分布的前世今生(一)
- [16] rsync同步的艺术
- [15] Cuckoo Filter:设计与实现
- [13] 关于RDS只读实例延迟分析
- [13] Linux Used内存到底哪里去了?
- [13] 什么是DNS劫持和DNS污染?
- [12] Linux内存中的Cache真的能被回收么?
- [12] 公钥私钥加密解密数字证书数字签名详解
- [11] jQuery性能优化指南
赞助商广告