1、查询中的列不是独立的,则不能使用索引。独立列指索引列不能是表达式一部分或者函数的参数。例如
SELECT actor_id FROM actor WHERE actor_id+1=5
2、对于很长的列,比如BLOB、TEXT、很长的VARCHAR列必须使用前缀索引。
2.1、前缀索引可以节约索引空间,大大提高效率
2.2、由于索引的重复度较高,导致选择性降低(选择性指不重复的索引值和表中总条数的比值,介于0到1之间,唯一索引的选择性为1)
2.3、无法利用前缀索引完成order by 与group by操作。同时也无法利用前缀索引完成覆盖扫描
所以在选择前缀索引的时候,一定务必考虑选择性这个问题