建索引的几大原则
1.最左前缀匹配原则
mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,即:where后面如果是
a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的。in 和 = 是可以乱序的,因为MySql优化器会对这种情况进行优化。
2.尽量选择区分度高的列作为索引
区分度高,既该字段重复的少。
3.索引列不参与计算,保持列干净
因为B+树中存的都是数据表中的字段值,如果这样做了,需要把所有元素都应用上函数,才能比较,成本太大。
网友评论