1.独立的列
如果查询中的列不是独立的,则MySql就不会使用索引。“独立的列”是指索引列不能是表达式的一部分,也不能是函数的参数。
2.前缀索引和索引的选择性
对于很长字符列,可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引的效率。但是会降低索引的选择性。索引的选择性是指:不重复的索引值(也称基数)和数据表的总记录数的比值。索引的选择性越高则查询效率越高。诀窍在于选择足够长的前缀以保证较高的选择性,同时又不能太长(以便节省空间)。前缀索引是一种能使索引更小、更快的有效办法,但是另一方面:MySQL无法使用前缀索引做Order BY和Group BY,也无法使用前缀索引做覆盖扫描。
时间: 2024-10-12 15:17:14