




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章关系查询处理和查询优化 9 1RDBS的查询处理 一 查询处理步骤查询分析词法 语法分析 识别关键字 属性 关系等 判断语句是否符合SQL语法查询检查检查数据库对象是否有效 是否具有权限 是否违反约束 然后转换成查询树查询优化查询执行 二 查询操作的算法实现选择操作简单的全表扫描索引 或散列 的扫描方法连接操作嵌套循环方法排序 合并方法索引连接方法HASHJOIN方法 9 2关系系统的查询优化 一 查询优化概述查询优化的必要性查询优化极大地影响RDBMS的性能 查询优化的可能性关系数据语言的级别很高 使DBMS可以从关系表达式中分析查询语义 代价模型 集中式数据库单用户系统总代价 I O代价 CPU代价多用户系统总代价 I O代价 CPU代价 内存代价分布式数据库总代价 I O代价 CPU代价 内存代价 通信代价 二 一个实例 例 求选修了课程 2的学生姓名SELECTStudent SnameFROMStudent SCWHEREStudent Sno SC SnoANDSC Cno 2 查询优化的必要性 续 假设1 外存 Student 1000条 SC 10000条 选修2号课程 50条假设2 一个内存块装元组 10个Student 或100个SC 内存中一次可以存放 5块Student元组 1块SC元组和若干块连接结果元组假设3 读写速度 20块 秒假设4 连接方法 基于数据块的嵌套循环法 执行策略1 1 name Student Sno SC Sno SC Cno 2 Student SC Student SC读取总块数 读Student表块数 读SC表遍数 每遍块数 1000 10 1000 10 5 10000 100 100 20 100 2100读数据时间 2100 20 105秒 不同的执行策略 考虑I O时间 中间结果大小 1000 10000 107 1千万条元组 写中间结果时间 10000000 10 20 50000秒 读数据时间 50000秒 总时间 105 50000 50000秒 100105秒 27 8小时 查询优化的必要性 续 2 2 name SC Cno 2 StudentSC 读取总块数 2100块读数据时间 2100 20 105秒中间结果大小 10000 减少1000倍 写中间结果时间 10000 10 20 50秒 读数据时间 50秒 总时间 105 50 50秒 205秒 3 4分 查询优化的必要性 续 3 2 Sname Student SC Cno 2 SC 读SC表总块数 10000 100 100块读数据时间 100 20 5秒中间结果大小 50条不必写入外存 读Student表总块数 1000 10 100块读数据时间 100 20 5秒 总时间 5 5秒 10秒 查询优化的必要性 续 4 2 name Student SC Cno 2 SC 假设SC表在Cno上有索引 Student表在Sno上有索引 读SC表索引 读SC表总块数 50 100 1块读数据时间中间结果大小 50条不必写入外存 查询优化的必要性 续 读Student表索引 读Student表总块数 50 10 5块读数据时间 总时间 10秒 查询优化的一般准则 选择运算应尽可能先做目的 减小中间关系在执行连接操作前对关系适当进行预处理按连接属性排序在连接属性上建立索引投影运算和选择运算同时做目的 避免重复扫描关系将投影运算与其前面或后面的双目运算结合目的 减少扫描关系的遍数 9 3代数优化 关系代数表达式等价指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的上面的优化策略大部分都涉及到代数表达式的变换 常用的等价变换规则 设E1 E2等是关系代数表达式 F是条件表达式l 连接 笛卡尔积交换律E1 E2 E2 E1E1E2 E2E1E1FE2 E2FE1 关系代数等价变换规则 续 2 连接 笛卡尔积的结合律 E1 E2 E3 E1 E2 E3 E1E2 E3 E1 E2E3 E1E2 E3 E1 E2E3 FFFF 关系代数等价变换规则 续 3 投影的串接定律 A1 A2 An B1 B2 Bm E A1 A2 An E 假设 1 E是关系代数表达式2 Ai i 1 2 n Bj j l 2 m 是属性名3 A1 A2 An 构成 Bl B2 Bm 的子集 关系代数等价变换规则 续 4 选择的串接定律 F1 F2 E F1 F2 E 选择的串接律说明选择条件可以合并这样一次就可检查全部条件 关系代数等价变换规则 续 5 选择与投影的交换律 1 假设 选择条件F只涉及属性A1 An F A1 A2 An E A1 A2 An F E 2 假设 F中有不属于A1 An的属性B1 Bm A1 A2 An F E A1 A2 An F A1 A2 An B1 B2 Bm E 关系代数等价变换规则 续 6 选择与笛卡尔积的交换律 1 假设 F中涉及的属性都是E1中的属性 F E1 E2 F E1 E2 2 假设 F F1 F2 并且F1只涉及E1中的属性 F2只涉及E2中的属性则由上面的等价变换规则1 4 6可推出 F E1 E2 F1 E1 F2 E2 关系代数等价变换规则 续 3 假设 F F1 F2 F1只涉及E1中的属性 F2涉及E1和E2两者的属性 F E1 E2 F2 F1 E1 E2 它使部分选择在笛卡尔积前先做 关系代数等价变换规则 续 7 选择与并的交换假设 E E1 E2 E1 E2有相同的属性名 F E1 E2 F E1 F E2 8 选择与差运算的交换假设 E1与E2有相同的属性名 F E1 E2 F E1 F E2 关系代数等价变换规则 续 9 投影与笛卡尔积的交换假设 E1和E2是两个关系表达式 A1 An是E1的属性 B1 Bm是E2的属性 A1 A2 An B1 B2 Bm E1 E2 A1 A2 An E1 B1 B2 Bm E2 关系代数等价变换规则 续 l0 投影与并的交换假设 E1和E2有相同的属性名 A1 A2 An E1 E2 A1 A2 An E1 A1 A2 An E2 小结 1 2 连接 笛卡尔积的交换律 结合律3 合并或分解投影运算4 合并或分解选择运算5 8 选择运算与其他运算交换5 9 10 投影运算与其他运算交换 关系代数表达式的优化算法 算法 关系表达式的优化输入 一个关系表达式的语法树 输出 计算该表达式的程序 方法 1 分解选择运算利用规则4把形如 F1 F2 Fn E 变换为 F1 F2 Fn E 关系代数表达式的优化算法 续 2 通过交换选择运算 将其尽可能移到叶端对每一个选择 利用规则4 8尽可能把它移到树的叶端 3 通过交换投影运算 将其尽可能移到叶端对每一个投影利用规则3 9 l0 5中的一般形式尽可能把它移向树的叶端 关系代数表达式的优化算法 续 4 合并串接的选择和投影 以便能同时执行或在一次扫描中完成利用规则3 5把选择和投影的串接合并成单个选择 单个投影或一个选择后跟一个投影 使多个选择或投影能同时执行 或在一次扫描中全部完成尽管这种变换似乎违背 投影尽可能早做 的原则 但这样做效率更高 关系代数表达式的优化算法 续 5 对内结点分组把上述得到的语法树的内节点分组 每一双目运算 和它所有的直接祖先为一组 这些直接祖先是 运算 如果其后代直到叶子全是单目运算 则也将它们并入该组 但当双目运算是笛卡尔积 而且其后的选择不能与它结合为等值连接时除外 把这些单目运算单独分为一组 关系代数表达式的优化算法 续 6 生成程序生成一个程序 每组结点的计算是程序中的一步 各步的顺序是任意的 只要保证任何一组的计算不会在它的后代组之前计算 优化的一般步骤 1 把查询转换成某种内部表示2 代数优化 把语法树转换成标准 优化 形式3 物理优化 选择低层的存取路径4 生成查询计划 选择代价最小的 优化的一般步骤 续 1 把查询转换成某种内部表示例 求选修了课程 2的学生姓名SELECTStudent SnameFROMStudent SCWHEREStudent Sno SC SnoANDSC Cno 2 1 把查询转换成某种内部表示 语法树 结果 project Sname select SC Cno 2 join Student Sno SC Sno Student SC 关系代数语法树 2 代数优化 利用优化算法把语法树转换成标准 优化 形式 3 物理优化 选择低层的存取路径 优化器查找数据字典获得当前数据库状态信息选择字段上是否有索引连接的两个表是否有序连接字段上是否有索引然后根据一定的优化规则选择存取路径如本例中若SC表上建有Cno的索引 则应该利用这个索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 紧急医学救援基地项目建设工程方案
- 2025年智慧城市垃圾分类处理与新能源互补发展报告
- 全真模拟乐理试题及答案
- 金融行业反欺诈大数据在金融风控中的应用与优化报告
- 亲子野炊咨询活动方案
- 配管专业面试题及答案
- DB65T 4398-2021 棉花耐盐防病促生菌种衣剂和滴灌肥料施用技术规程
- DB65T 4383-2021 春播玉米减肥减药技术规程
- 英语语法大赛真题及答案
- DB65T 4335-2020 伊犁马饲养管理技术规范
- 预防校园欺凌家长告知书
- 儿童托管中心疫情防控应急预案
- 阑尾炎课件24张
- 光伏发电项目技术审查方案
- 《中国战略导弹》课件
- 护士N3岗位竞聘
- 人教版三年级上册《生命.生态.安全》全册教案(及计划)
- 人教统编版(部编版)小学科学教材目录
- 2024年污水管道维修协议书范文范本
- 颈椎后路单开门椎管扩大成形术的护理课件
- 新外研版(三起)三年级上册英语全册教学课件(2024年新版教材)
评论
0/150
提交评论