首页 > 编程知识 正文

mysql最左原则原理,最左前缀原则底层原理

时间:2023-05-06 03:01:01 阅读:145361 作者:3571

如何创建索引:

使用组合索引:最左原则:假设组合索引为:a,b,c的话;那么当SQL中对应有:a或a,b或a,b,c的时候,可称为完全满足最左原则;当SQL中查询条件对应只有a,c的时候,可称为部分满足最左原则;当SQL中没有a的时候,可称为不满足最左原则

注意: MySQL5.7或更高版本将自动优化。 例如,将c、b、a优化为a、b、c,使其完全遵循最左原则。 将c、a优化为a、c

遵循最左边的原则。 也就是说,SQL语句的对应条件的优先级无关。

准备工作:

组合索引: e_name,e_age,e_country,e_city

使用情况: http://www.Sina.com/http://www.Sina.com /

注:与条件的优先顺序无关。 (这是因为从MYSQL5.7开始,它针对索引的所有数组进行了优化,并自动优化以按照索引组合的顺序执行查询。) )

这意味着,以下操作将完全组合索引:

http://www.Sina.com/http://www.Sina.com /

注意:在此SQL中,只有e_name和e_country满足某些最左原则(e_name满足),因此如果您前往e_name字段,则组合会进行

只要去e_name,去e_country就不使用组合索引。

http://www.Sina.com/http://www.Sina.com /

http://www.Sina.com/http://www.Sina.com /

说明:在SQL语句字段中,如果满足最左边的原则,但不满足“索引”本身的使用规定,则在索引组合到此之后,

我不会再往下走了。

如图所示,在e_age字段中使用了“”符号,由于不符合“索引”本身的使用规定,因此在“e_name”进行了组合索引后,

如果选择" e_age ",则此字段及其后的字段不会前往组合索引。

转发至3https://blog.csdn.net/just ry _ Deng/article/details/81458470

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。