关于联合索引的创建及命中
联合索引创建
我们创建一个栗子表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)才能命中索引。
此文章是自己理解和总结,若有不对的地方请劳烦指出谢谢!