MySQL - 索引失效的情况有哪些?[汇总篇]

1.应用场景

主要学习掌握MySQL索引的使用场景以及使用条件限制.

帮助我们高效使用索引进行开发,开发高性能高可用程序.

2.学习/操作

1.索引列使用MySQL内置函数,同时处于运算符左侧

验证:

MySQL - 索引失效的情况有哪些?[汇总篇]

MySQL - 索引失效的情况有哪些?[汇总篇]

MySQL - 索引失效的情况有哪些?[汇总篇]

MySQL - 索引失效的情况有哪些?[汇总篇]

 

索引列与非索引列使用SQL内置函数的结果:

MySQL - 索引失效的情况有哪些?[汇总篇]

MySQL - 索引失效的情况有哪些?[汇总篇]

MySQL - 索引失效的情况有哪些?[汇总篇]

综上可知:

同时将将 > 换成 =, 执行计划也是相同的结果.

1.当函数的位置在比较运算符左侧,索引失效. 这里走的是全表扫描.

当出现在比较运算符右边的依然可以走索引.

 

2.也可以知道,SELECT * FROM test WHERE learn_index > 0 AND DATE(learn_date) < DATE(NOW()); 

查询效率是最好的,filtered为100.

 

更多: https://blog.****.net/william_n/article/details/102586899

 

 

存在的问题:

数据量太小,稍后扩充数据量~~~

 

2.TBD

 

 

 

后续补充

...

3.问题/补充

TBD

4.参考

https://blog.****.net/william_n/article/details/100827803  //MySQL 索引 - 学习/实践

后续补充

...