第21讲-数据库查询优化技术
2100-第21讲本讲学习什么(1分25秒)及第21讲教学课件
2101-什么是查询优化(6分22秒)
查询优化
如何使数据库查询的执行时间最短?
三个层面进行优化:
- 语义优化:利用模型的语义及完整性规则,优化查询
- 语法优化---逻辑层优化:利用语法结构,优化操作执行顺序;
- 执行优化---物理层优化:存取路径和执行算法的选择与执行次序优化;
2102-查询优化的总体思路(13分31秒)
尽可能早的做选择操作,可有效地减少中间结果元组的数目。
尽可能早的做投影操作,可有效地减少中间结果所占用的内存块的数目。
将笛卡尔积操作与其后的选择操作组合成连接操作,可有效地减少中间结果元组的数目。
2103-逻辑层查询优化策略(13分50秒)
2104-关系代数操作等价变换定理(2个视频总计22分16秒)
将左侧公式变换为右侧公式,表示将两趟扫描数据库(左侧),变成一趟扫描数据库(右侧)。
将右侧公式变换为左侧公式,表示将复杂条件的选择操作(右侧),变成简单条件的选择操作(左侧)。
在逻辑优化起始,应首先将右侧形式的公式转变为左侧形式的公式。
在逻辑优化结束前,应将左侧形式的公式转变为右侧形式的公式。
因为先做差运算再投影,和先投影再做差运算,结果可能不一样,你可比较以下:假设上式的n=3,即投影三个属性,而E和E有6个属性。六个属性上的差运算和三个属性上的差运算结果可能是不同的。
2105-基于关系代数的查询优化算法(13分44秒)
2106-物理层查询优化(13分19秒)
2107-代价估算(2个视频总计15分39秒)
第21讲模拟练习题
1、关于逻辑查询优化和物理查询优化,下列说法正确的是逻辑查询优化是关系代数操作次序的优化;物理查询优化是关系代数操作实现算法选择的优化。