设为首页 - 加入收藏 济南站长网(0531Zz.Com)- 致力服务于广大站长和网站的信息交流平台,第一时间呈现最新最快捷的互联网资讯!
热搜: 站长之家 Linu 手机
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2016-08-02 08:37 所属栏目:[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)查询执行机制(二)

(编辑:济南站长网 0531Zz.Com)

网友评论
推荐文章