0708关于理解mysql SQL执行顺序

Posted 秦楚风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0708关于理解mysql SQL执行顺序相关的知识,希望对你有一定的参考价值。

转自 http://www.jellythink.com/archives/924,博客比价清晰

我理解上文的是SQL执行顺序 总体方案。当你加入索引了以后,其实他的执行计划是有细微的变化,比方说刚开始不再先生成笛卡尔积,而是进行SQL改写和评估,看使用哪个索引 扫描行数更少,成本更低。然后利用mysql嵌套循环的机制,找到表的执行顺序。最后确定好读取方式以后 先通过索引找到最佳左表,然后嵌套循环找到右表,然后按照SQL执行顺序进行。

这个也解释了索引 先加在WHERE 字段 然后处理GROUP BY字段 最后处理ORDER BY 字段,这个就是SQL执行顺序决定的。

经典总结0707:关于索引到底是先WHERE还是先GROUP
 

以上是关于0708关于理解mysql SQL执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

从建表到关于sql和MySQL的查询语句执行顺序最新详解

SQL语句的执行顺序怎么理解,特别是ORDER BY子句怎么理解?

关于Oracle语句的执行顺序

详细分析SQL语句逻辑执行过程和相关语法

关于SQL语句的执行先后顺序,希望高手解答并写出原因。谢谢,

SQL语句的执行顺序的理解