Mysql中索引失效场景

# 全值匹配

假设我们有联合索引idx_name_birthday_phone_number,索引列的顺序为:namebirthdayphone_number
如果我们的搜索条件中的列和索引列一致的话,这种情况就称为全值匹配,比方说下边这个查找语句:
SELECT * FROM person_info WHERE name = 'Ashburn' AND birthday = '1990-09-27' AND phone_number = '15123983239';

如果搜索条件中的列的顺序和索引列的顺序不一致就不太好了,比方说先对birthday列的值进行匹配的话,由于B+树中的数据页和记录是先按name列的值进行排序的,不能直接使用二分法快速定位记录,所以只能扫描所有的记录页。

匹配最左边的列

猜你喜欢

转载自www.cnblogs.com/Utah-Lee/p/10498868.html