1. 索引列的数据长度能少则少。(能节省空间,长度越少就说名关键字能保存的越多)
2. 索引不一定是越多越好越全越好,一定是建合适。(因为需要维护,插入的时候需要所有索引都维护到)
3. 匹配列前缀可用到索引 like 999%, like %9999%和like %9999是无法使用索引的。(最左匹配原则)
4. where条件中 not in 和<>操作无法使用索引。(同上)
5. 匹配范围内,order by 和group by也能用到索引。(b+的数据结构决定的,天然自带排序功能)
6. 多用指定查询,只返回自己想到的数据列,少用select * 。(命中后直接返回,减少IO)
7. 联合索引不是按照索引最左列开始查找,就无法使用索引。(最左匹配原则)
8. 联合索引中精确匹配最左前列并范围匹配另一类可以用到索引。
9. 联合索引中如果有某个列的范围查询,则右边所有列都无法使用。