关系表达式

优化 

对于选择连接顺序的优化,目的就是让中间结果的元组数最少

在连接课程的时候,先对课程在所需要的属性上进行了一次投影,就是投影下移

连接时可以系和老师连,但是不能系和课程连,因为连接必须要有相同属性

2009有课,音乐系,名字,教授课程名

涉及三个表的连接,即系表,老师表,课程表

投影到名字,课程名称

范围为2009有课,音乐系

左树是三个表先进行自然连接,然后做选择,再投影

右数是在连接前先选择,在老师表里是2009,系里是音乐系,然后进行自然连接,最后投影

在有选择和连接时,先进行选择,缩小范围后再进行连接

性能计算 

一个块能装10个学生记录,一共1000个,那么一共需要100个块,

在内存当中有5个这个块,那么对于100个块就需要处理20次,在每次处理的时候,需要对这5个块分别遍历所有的选课记录,内存当中只能放选课记录的一个块,一个块里只有100个记录,所以处理这5个块时,需要遍历的次数是10000/100,一个需要1000/(10*5)=20次

在连接的时候是需要读取的,读取两个表进行连接,时间为两部分,第一部分是分别读取其中一个表,第二部分是在选定其中一个表后取求另一个表的所有记录

优化例子

投影到预算和地址

连接是学院和员工表

范围是老师是张三

先在老师里选择,然后投影到部门名称

进行自然连接,投影到预算和地址

Logo

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

更多推荐