您现在的位置:首页 --> 查看专题: 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天十大热文
-
[85] memory prefetch浅析
-
[53] 基本排序算法的PHP实现
-
[51] 深入浅出cassandra 4 数据一致性问
-
[50] 转载:cassandra读写性能原理分析
-
[43] MySQL半同步存在的问题
-
[41] javascript插入样式
-
[41] 字符引用和空白字符
-
[40] Inline Form Labels
-
[39] JS中如何判断字符串类型的数字
-
[38] 获取Dom元素的X/Y坐标
赞助商广告