一、前模糊索引失效原因
首先我们的索引它是一个b+树,它会根据我们索引数据自动的进行排序,并且存储在叶子节点中,由于第一个字不确定,它就没办法按照顺序去检索到你的索引页,从而就会进行全表扫描,导致性能非常低。

二、前模糊索引失效解决方式
2.1、第一种解决方式
通过反向索引的方式,也就是说将索引的数据在另外存一份反向的数据。
例如:name的值张三,存储成张三,那么这样你的查询语句就可以通过后模糊来进行查询,从而有效的利用上索引。
select t.* from t_user t where p.t_reverse_name like '三%'

2.2、第二种解决方式
通过限制范围的方式。
例如:当天、当月创建的数据进行全表扫描,给它限制一个范围,让它限制在这个范围内,性能也能够得到有效的提升。
2.3、第三种解决方式
- 在查询字段上使用索引覆盖,这样就不再进行回表了,同时能够得到一定的性能提升。
2.4、第四种解决方式
- 使用一些第三方搜索引擎框架进行实现。
到此这篇关于mysql 前模糊索引失效原因及解决方式的文章就介绍到这了,更多相关mysql 前模糊索引失效内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论