4.19【数据库】优化查询,结构树
对于选择连接顺序的优化,目的就是让中间结果的元组数最少在连接课程的时候,先对课程在所需要的属性上进行了一次投影,就是投影下移连接时可以系和老师连,但是不能系和课程连,因为连接必须要有相同属性2009有课,音乐系,名字,教授课程名涉及三个表的连接,即系表,老师表,课程表投影到名字,课程名称范围为2009有课,音乐系左树是三个表先进行自然连接,然后做选择,再投影右数是在连接前先选择,在老师表里是200
关系表达式
优化
对于选择连接顺序的优化,目的就是让中间结果的元组数最少
在连接课程的时候,先对课程在所需要的属性上进行了一次投影,就是投影下移
连接时可以系和老师连,但是不能系和课程连,因为连接必须要有相同属性
2009有课,音乐系,名字,教授课程名
涉及三个表的连接,即系表,老师表,课程表
投影到名字,课程名称
范围为2009有课,音乐系
左树是三个表先进行自然连接,然后做选择,再投影
右数是在连接前先选择,在老师表里是2009,系里是音乐系,然后进行自然连接,最后投影
在有选择和连接时,先进行选择,缩小范围后再进行连接
性能计算
一个块能装10个学生记录,一共1000个,那么一共需要100个块,
在内存当中有5个这个块,那么对于100个块就需要处理20次,在每次处理的时候,需要对这5个块分别遍历所有的选课记录,内存当中只能放选课记录的一个块,一个块里只有100个记录,所以处理这5个块时,需要遍历的次数是10000/100,一个需要1000/(10*5)=20次
在连接的时候是需要读取的,读取两个表进行连接,时间为两部分,第一部分是分别读取其中一个表,第二部分是在选定其中一个表后取求另一个表的所有记录
优化例子
投影到预算和地址
连接是学院和员工表
范围是老师是张三
先在老师里选择,然后投影到部门名称
进行自然连接,投影到预算和地址

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)