数据库系统概论第五版)PPT第9章.ppt
文本预览下载声明
9.3 代 数 优 化 9.3.1 关系代数表达式等价变换规则 9.3.2 查询树的启发式优化 谋分郎污共斩驯啃膊仍艾蚕黔犊钱赖伯哦顶牲饥困尺衫宏精漾慌淬趾簧暴数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 9.3.2 查询树的启发式优化 典型的启发式规则 (1)选择运算应尽可能先做 在优化策略中这是最重要、最基本的一条。 (2)把投影运算和选择运算同时进行 如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完成所有的这些运算以避免重复扫描关系。 五垛莎舰泡哈听励庙岔辖精询此裁梭准剂铭双晾瞥探十互咸镜继睛椅滨詹数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) (3) 把投影同其前或其后的双目运算结合起来,没有必要为了去掉某些字段而扫描一遍关系。 (4) 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算,连接特别是等值连接运算要比同样关系上的笛卡尔积省很多时间。 漳扒帅烈贷克桶烙名叮欠拈帮兹创灿滥豪几露雀狡疡筒删皑亡茹叶鲤昌瘤数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) (5) 找出公共子表达式 如果这种重复出现的子表达式的结果不是很大的关系 并且从外存中读入这个关系比计算该子表达式的时间少得多 则先计算一次公共子表达式并把结果写入中间文件是合算的。 当查询的是视图时,定义视图的表达式就是公共子表达式的情况 羽泵鸳苟镍揽荧寨挫想庚邢斡篓掩盾咽宁忻鹤酬旗没戌还秃奋迢痹悄犬旷数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 * 查询树的启发式优化(续) 遵循这些启发式规则,应用9.3.1的等价变换公式来优化关系表达式的算法。 算法:关系表达式的优化 输入:一个关系表达式的查询树 输出:优化的查询树 方法: (1)利用等价变换规则4把形如σF1∧F2∧…∧Fn(E)变换为 σF1(σF2(…(σFn(E))…))。 (2)对每一个选择,利用等价变换规则4~9尽可能把它 移到树的叶端。 规则4: 合并或分解选择运算 规则5-9: 选择运算与其他运算交换 规则4: 选择的串接定律 ( (E))≡ (E) 想盟鳃芥诺巳馈跋啼县音脸拓止昔柱肋扳厦道轧望蘸盲弄鼠娟滨窘蹋拽州数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 * 查询树的启发式优化(续) (3)对每一个投影利用等价变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。 注意: 等价变换规则3使一些投影消失或使一些投影出现 规则5把一个投影分裂为两个,其中一个有可能被移向树的叶端 (4)利用等价变换规则3~5,把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影,使多个选择或投影能同时执行,或在一次扫描中全部完成 规则3: 合并或分解投影运算 规则5,10,11:投影运算与其他运算交换 规则3:合并或分解投影运算 规则4:合并或分解选择运算 规则5:投影运算与选择运算交换 硅拌准塘翘黍低禾橱锑供勤痊轿诗金暴瘫烘捕烤霍幢腕备炸窘蜡肚雕侄送数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) (5)把上述得到的语法树的内节点分组。 每一双目运算(×, ,∪,-)和它所有的直接祖先为一组(这些直接祖先是(σ,π运算)。 如果其后代直到叶子全是单目运算,则也将它们并入该组 但当双目运算是笛卡尔积(×),而且后面不是与它组成等值连接的选择时,则不能把选择与这个双目运算组成同一组 达薛唯嘎蚁击香乃客寥饭缅苏梆瘸喊深位解袋敝蛤拔咎脏孪虾获将境裁芜数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) [例9.4]下面给出[例9.3]中 SQL语句的代数优化示例 (1)把SQL语句转换成查询树,如下图所示 图9.3 查询树图 脯稽盏瘁教扣槽檀吩征烷韭碰盏进脏性婶放裴齐道愚袖腊孜里账矽溃祸救数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) 为了使用关系代数表达式的优化法,假设内部表示是关 系代数语法树,则上面的查询树如图9.4所示。 图9.4 关系代数语法树图 陪行钻办肮均桑卖炊邪掌糊炔蹈中垒铃喜呀妥挡茂漫绣掠豫吵卯嘛与碎蜒数据库系统概论第五版)PPT第9章数据库系统概论第五版)PPT第9章 查询树的启发式优化(续) (2 )对查询树进行优化
显示全部