数据库原理与程序设计孙杰第11章查询优化技术.ppt
《数据库原理与程序设计孙杰第11章查询优化技术.ppt》由会员分享,可在线阅读,更多相关《数据库原理与程序设计孙杰第11章查询优化技术.ppt(41页珍藏版)》请在第壹文秘上搜索。
1、第第11章章 查询优化技术查询优化技术生物医学软件工程教研室生物医学软件工程教研室查询优化的必要性查询优化的必要性v例:查询选修了课程例:查询选修了课程C031的学生的姓名的学生的姓名sc)(student(osc.snoostudent.snsname)scstudent(031cno.sc csname)(031.scstudentccnoscsnamev为了对查询的效率进行比较,我们进行如为了对查询的效率进行比较,我们进行如下的假设:下的假设:v外存:外存:Student:1000条;条;SC:10000条;条;选修选修2号课程:号课程:50条;条;v一个内存块装元组:一个内存块装元组:
2、10个个Student或或100个个SC,内存中一次可以存放:,内存中一次可以存放:5块块Student元元组,组,1块块SC元组和若干块连接结果元组;元组和若干块连接结果元组;v读写速度:读写速度:20块块/秒;秒;vstudentsc 读取时间读取时间=读取总块数读取总块数读取速度读取速度 读取总块数读取总块数=读读Student表块数表块数+读读SC表遍数表遍数*每遍块数每遍块数=1000/10+(1000/(105)(10000/100)=100+20100=2100 写中间结果的时间写中间结果的时间=中间结果的大小中间结果的大小磁磁盘块容量盘块容量读写速度读写速度 中间结果大小中间结
3、果大小=1000*10000=107(1千万千万条元组条元组)sc)(student(osc.snoostudent.snsname读数据时间读数据时间=2100/20=105秒秒写中间结果时间写中间结果时间=10000000/10/20=50000秒秒v 运算需读取中间结果运算需读取中间结果 读数据时间读数据时间=50000秒秒 vv总时间总时间=1055000050000秒秒 v =100105秒秒v =27.8小时小时v 读取总块数读取总块数=2100块块 读数据时间读数据时间=2100/20=105秒秒 中间结果大小中间结果大小=10000 (减少(减少1000倍)倍)写中间结果时间写
4、中间结果时间=10000/10/20=50秒秒 v 读数据时间读数据时间=50秒秒vv总时间总时间1055050秒秒205秒秒=3.4分分)scstudent(031cno.sc csnamev 读读SC表总块数表总块数=10000/100=100块块 读数据时间读数据时间=100/20=5秒秒 中间结果大小中间结果大小=50条条 不必写入外存不必写入外存 读读Student表总块数表总块数=1000/10=100块块 读数据时间读数据时间=100/20=5秒秒v总时间总时间55秒秒10秒秒)(031.scstudentccnoscsnamev 读读SC表索引表索引=读读SC表总块数表总块数=
5、50/1001块块 读数据时间读数据时间 中间结果大小中间结果大小=50条条 不必写入外存不必写入外存v 读读Student表索引表索引=读读Student表总块数表总块数=50/10=5块块 读数据时间读数据时间v总时间总时间10秒秒假设假设 SC 表在表在 Cno上有索引上有索引Student 表在表在 Sno上有索引上有索引)(031.scstudentccnoscsname查询优化的一般规则查询优化的一般规则v规则规则1:选择和投影操作尽早执行:选择和投影操作尽早执行v减少中间结果减少中间结果查询优化的一般规则查询优化的一般规则v规则规则2:把某些选择操作与邻接笛卡尔积相:把某些选择操
6、作与邻接笛卡尔积相结合,形成一个连接操作结合,形成一个连接操作v连接操作比笛卡尔积节省时间,特别是等值连接操作比笛卡尔积节省时间,特别是等值连接连接。vstudent.son=sc.sno(studentsc)v studentsc查询优化的一般规则查询优化的一般规则v规则规则3:同时执行相同关系上的多个选择和:同时执行相同关系上的多个选择和投影操作投影操作v避免重复扫描关系避免重复扫描关系查询优化的一般规则查询优化的一般规则v规则规则4:把投影操作与邻接操作结合起来执:把投影操作与邻接操作结合起来执行行v减少扫描关系的遍数减少扫描关系的遍数查询优化的一般规则查询优化的一般规则v规则规则5:在
7、执行连接操作前对关系适当进行:在执行连接操作前对关系适当进行预处理预处理v按连接属性排序按连接属性排序v在连接属性上建立索引在连接属性上建立索引查询优化的一般规则查询优化的一般规则v规则规则6:提取公共表达式:提取公共表达式关系代数等价变换规律关系代数等价变换规律v等价的概念等价的概念:设:设E1和和E2是两个关系代谢表是两个关系代谢表达式。如果达式。如果E1和和E2中表示相同的关系,则中表示相同的关系,则称称E1和和E2等价。等价。v等价规律等价规律1:选择串接律:选择串接律v其中其中E是关系代数表达式,是关系代数表达式,ci是选择条件是选择条件.v选择条件可以合并,一次可以检查多个条件选择
8、条件可以合并,一次可以检查多个条件)()(211EEnnccccANDANDcv等价规律等价规律2:选择交换律:选择交换律v其中其中E是关系代数表达式,是关系代数表达式,ci是选择条件是选择条件.)()(1221EEccccv等价规律等价规律3:投影串接律:投影串接律v其中,其中,E是关系代数表达式,是关系代数表达式,Li是投影属性集是投影属性集合,且合,且L1 L2 Ln)()(121EELLLLnv等价规律等价规律4:选择投影交换律:选择投影交换律v其中,其中,E是关系代数表达式,是关系代数表达式,L是投影属性集是投影属性集合,合,C是选择条件,是选择条件,C值设计值设计L中属性中属性)(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 程序设计 孙杰第 11 查询 优化 技术