高性能的MySQL(6)查询执行机制(二)
发布时间:2016-08-05 11:51:44 所属栏目: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); URL:http://www.bianceng.cn/database/MySQL/201410/46072.htm 执行计划 MySQL执行查询的方式总是从一个表开始一直嵌套循环,回溯完成的所有表的关联。所以MySQL执行计划总是一颗左侧深度优先的树。 (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |