关于联合索引的创建及命中

联合索引创建

我们创建一个栗子表review(表内容自己添加,此处略过),这里我的测试表数据在100w多 在该表如没有索引或者没有命中索引的时候查询速度是非常慢的,随便一个查询本地大概是1s左右,如:

SELECT review_time,customer_id,users_id FROM review WHERE customer_id=50259 AND users_id=1269 AND s_id=215

此处我们创建一个联合索引,如下: 在用上面同样的sql查询,在命中索引的情况下速度提升是非常快的,

联合索引命中规则总结

首先在创建联合索引的时候遵循的是最左原则,即从最坐开始匹配,并且必须有最左的一个才能命中,如: 创建一个索引内喊三个字段(可以看成三个索引,但并不是方便理解) S(A B C),在条件查询的时候 必须是AND,OR也不能命中索引,WHERE 后的条件 必须是(A),(AB),(ABC),(AC)才能命中索引。

此文章是自己理解和总结,若有不对的地方请劳烦指出谢谢!

经验分享 程序员 微信小程序 职场和发展