《表2 MySQL连接过程表》
图1(b)展示了MySQL的连接方式,它同样采用左深树的结构进行连接,不同的是表的连接顺序有所改变.该顺序是由MySQL的执行计划(数据库会对用户输入的查询语句做解析和优化,得到相应的执行计划)确定的.MySQL根据基本表中涉及到的行数等因素通过贪心算法逐步将待连接的表以左深树的形式连接起来,从而得到一个较优的连接顺序.表2展示了MySQL的连接过程,产生的所有中间表的大小为2900字节.可以发现,通过MySQL优化后的多表连接顺序产生的中间表大小比没有优化的左深树连接减少了近3倍.但是MySQL的连接顺序并没有充分考虑表与表之间的关联性(在连接的第二步,表M1先与表C连接更为合理),所以在执行计划的第二步就出现了笛卡尔积操作.
图表编号 | XD00107157300 严禁用于非法目的 |
---|---|
绘制时间 | 2019.11.01 |
作者 | 马竹琳、李心池、诸葛晴凤、吴林、陈咸彰、姜炜文、沙行勉 |
绘制单位 | 重庆大学计算机学院、重庆大学计算机学院、华东师范大学计算机科学与软件工程学院、重庆大学计算机学院、重庆大学计算机学院、重庆大学通信工程学院、重庆大学计算机学院、华东师范大学计算机科学与软件工程学院 |
更多格式 | 高清、无水印(增值服务) |