要想知道mysql表添加的索引到底好不好用,就需要了解explain用法和结果的含义,具体可以根据以下链接了解http://blog.chinaunix.net/uid-540802-id-3419311.html
根据explain的结果再做出最好的调整:
- 首先就是要尽量少添加索引,索引多会影响表的非查询操作;
- 如果需要添加的索引可以写成组合索引,那就写成组合索引;
- 一般来说,如果添加组合索引,最好是带ID的字段放在索引的前面,如下图带ID的字段被当做条件的可能性一般比其他字段概率大,所以放在组合索引第一位,如上图中红框的两个字段,索引组合可以写成 cmp_id,case_type ,已达到尽可能少添加索引的目的;
- 两张表中有两个或两个以上的关联字段时,最好规定好使用哪个字段当做主链接,并将这个字段(非主键)作为索引,不要在不同的sql用不同的字段链接,这样容易造成混乱,还可能要多添加索引;
- 在索引有多个时,可以跟据explain判断索引的使用情况,然后调整sql或者索引;
- 索引使用时,优先考虑where条件;
未完待续...