加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

高性能的MySQL(6)查询执行机制(二)

发布时间:2016-08-02 08:37:55 所属栏目:MySql教程 来源:站长网
导读:这里继续上一篇中的优化器部分: MySQL如何执行关联查询 MySQL对任何关联都执行嵌套循环关联操作,即先在一个表中循环取出单条数据,然后再嵌套循环到下一个表
这里继续上一篇中的优化器部分:

MySQL如何执行关联查询

MySQL对任何关联都执行嵌套循环关联操作,即先在一个表中循环取出单条数据,然后再嵌套循环到下一个表中寻找匹配的行,依次下去,直到找到所有表中匹配的行为止。然后根据各个表匹配的行,返回查询中需要的各个列。MySQL会尝试在最后一个关联表中找到所有匹配的行,如果最后一个关联表无法找到更多的行以后,MySQL返回到上一层次关联表,看是否能够找到更多的匹配记录,依次类推迭代执行。

例如:

select tab1.col1,tab2.col2

from tab1 inner join tab2 using(col3)

where tab1.col1 in (5,6);

高性能的MySQL(6)查询执行机制(二)

URL:http://www.bianceng.cn/database/MySQL/201410/46072.htm

执行计划

MySQL执行查询的方式总是从一个表开始一直嵌套循环,回溯完成的所有表的关联。所以MySQL执行计划总是一颗左侧深度优先的树。

高性能的MySQL(6)查询执行机制(二)

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读