《表2 MySQL连接过程表》

《表2 MySQL连接过程表》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《面向非易失性存储器的多表连接写操作的优化研究》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

图1(b)展示了MySQL的连接方式,它同样采用左深树的结构进行连接,不同的是表的连接顺序有所改变.该顺序是由MySQL的执行计划(数据库会对用户输入的查询语句做解析和优化,得到相应的执行计划)确定的.MySQL根据基本表中涉及到的行数等因素通过贪心算法逐步将待连接的表以左深树的形式连接起来,从而得到一个较优的连接顺序.表2展示了MySQL的连接过程,产生的所有中间表的大小为2900字节.可以发现,通过MySQL优化后的多表连接顺序产生的中间表大小比没有优化的左深树连接减少了近3倍.但是MySQL的连接顺序并没有充分考虑表与表之间的关联性(在连接的第二步,表M1先与表C连接更为合理),所以在执行计划的第二步就出现了笛卡尔积操作.