MySQL索引建立原则:

  1. 选择合适的索引类型:MySQL支持多种索引类型,如B-Tree索引、哈希索引、全文索引等,应根据具体情况选择合适的索引类型。

  2. 考虑选择联合索引:当多个列同时参与查询时,可以考虑建立联合索引。但是需要注意,联合索引的列顺序要考虑到查询的顺序,同时要避免建立过多的联合索引。

  3. 避免在索引列上使用函数或表达式:在索引列上使用函数或表达式会导致索引失效,降低查询效率。

  4. 避免使用过长的索引列:过长的索引列会导致索引占用更多的磁盘空间,同时也会影响索引的查询效率。

  5. 避免冗余索引:建立冗余索引会占用更多的磁盘空间,同时也会降低写操作的效率。

索引失效场景:

  1. 在索引列上使用函数或表达式:在索引列上使用函数或表达式会导致索引失效。

  2. 模糊查询的使用:模糊查询(如LIKE '%xxx%')会导致索引失效,建议使用全文索引或者拆分查询条件。

  3. 使用OR操作符:在使用OR操作符时,MySQL无法确定哪个条件应该被优先执行,会导致索引失效。

  4. 数据类型不匹配:如果查询条件的数据类型与索引列的数据类型不匹配,会导致索引失效。

  5. NULL值的查询:如果查询条件包含NULL值,会导致索引失效

MySQL索引建立原则和索引失效场景

原文地址: https://www.cveoy.top/t/topic/feAk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录