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语句的执行顺序怎么理解,特别是ORDER BY子句怎么理解?