码迷,mamicode.com
首页 > 数据库 > 详细

0708关于理解mysql SQL执行顺序

时间:2017-07-08 12:21:19      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:处理   卡尔   决定   笛卡尔   hive   arc   bsp   order by   总结   

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

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

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

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

0708关于理解mysql SQL执行顺序

标签:处理   卡尔   决定   笛卡尔   hive   arc   bsp   order by   总结   

原文地址:http://www.cnblogs.com/qcfeng/p/7136197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!