关系系统及其查询优化

关系系统及其查询优化

ID:21981816

大小:467.00 KB

页数:18页

时间:2018-10-21

关系系统及其查询优化_第1页
关系系统及其查询优化_第2页
关系系统及其查询优化_第3页
关系系统及其查询优化_第4页
关系系统及其查询优化_第5页
资源描述:

《关系系统及其查询优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、关系系统及其查询优化第4章关系系统关系系统的定义关系系统的分类关系系统的查询优化关系系统及其查询优化查询优化的一般准则关系代数等价变换规则关系代数表达式的优化算法优化的一般步骤2021/9/151数据库原理4.1关系系统支持关系模型的关系数据库管理系统简称关系系统。下述关系的DBMS不能称为关系系统不支持关系数据结构的系统支持关系数据结构,但无δ、π、运算功能的系统支持关系数据结构,有δ、π、运算,但要求定义物理存取路径的系统可称为关系系统的DBMS,当且仅当1)支持关系数据结构(关系数据库)2)支持δ、π、运算,且不要求用户定义任何物理存取路径4.1.1关系系统的定义

2、2021/9/152数据库原理4.1.2关系系统的分类4.全关系系统:支持关系模型的所有特征。在关系完备系统的基础上,进一步支持实体完整性和参照完整性等。DBⅡ,ORACLE,SYBASE,…已接近这个目标。目前尚无全关系系统。1.表式系统:仅支持关系数据结构,不支持集合级的操作。(不能算关系系统)2.(最小)关系系统:支持关系数据结构,支持δ、π、运算,且不定义物理路径。3.关系完备系统:支持关系数据结构和所有关系代数操作(或功能上与关系代数等价)。DBⅡ,ORACLE,SYBASE,…属于这一类。2021/9/153数据库原理关系系统分类数据结构数据操作完整性约束表

3、式系统表××(最小)关系系统表选择、投影、连接×关系完备的系统表√×全关系系统√√√2021/9/154数据库原理4.2关系数据库系统的查询优化4.2.1关系系统及其查询优化查询处理的过程查询语句查询输出关系代数表达式执行计划语法分析与翻译执行引擎优化器有关数据的统计信息数据2021/9/155数据库原理系统优化优化器可以从数据字典中获取许多统计信息,从而选择有效的执行计划;如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划;优化器可以考虑数百种不同的执行计划;优化器中包括了很多复杂的优化技术。2021/9/156数据库原理实际系统的查

4、询优化步骤1.将查询转换成某种内部表示,通常是语法树2.根据一定的等价变换规则把语法树转换成标准(优化)形式3.选择低层的操作算法对于语法树中的每一个操作根据存取路径、数据的尺寸、数据的存储分布、存储数据的聚簇等信息来计算各种执行算法的执行代价选择代价小的执行算法4.生成查询计划(查询执行方案)2021/9/157数据库原理常用查询优化技术用启发式规则来缩减查询计划的搜索空间利用统计信息估算执行代价基于代价(目前商品化RDBMS大都采用)代价模型集中式数据库单用户系统:总代价=I/O代价+CPU代价多用户系统:总代价=I/O代价+CPU代价+内存代价分布式数据库总代价=

5、I/O代价+CPU代价[+内存代价]+通信代价2021/9/158数据库原理4.2.2一个实例例.求选2号课程的学生姓名SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCno=‘2’;数据量:Student:1000条;SC:10000条;选修2号课程:50条一个内存块装元组:10个Student或100个SC,内存中可以存放:5块Student元组和1块SC元组读写速度:20块/秒假设:2021/9/159数据库原理1.Q1=ПSname(бStudent.Sno=SC.Sno∧SC.Cno=‘c2

6、‘(Student×SC))①计算广义笛卡尔积(Student×SC)读取总块数=读Student表块数+读SC表遍数*每遍块数=1000/10+(1000/(10×5))×(10000/100)=2100读数据时间=2100/20=105秒中间结果大小=1000*10000=107(1千万条元组)写中间结果时间=10000000/10/20=50000秒②选择操作(б)读数据时间=50000秒③投影(П)总时间=105+50000+50000秒=100105秒=27.8小时2021/9/1510数据库原理2.Q2=ПSname(бSC.Cno='2'(StudentS

7、C))①自然连接()读取总块数=2100块读数据时间=2100/20=105秒中间结果大小=10000(即SC表中记录条数,减少1000倍)写中间结果时间=10000/10/20=50秒②选择操作(б)读数据时间=50秒③投影(П)总时间=105+50+50秒=205秒=3.4分2021/9/1511数据库原理3.Q2=ПSname(StudentбSC.Cno='2'(SC))①选择操作(б)读SC表总块数=10000/100=100块读数据时间=100/20=5秒中间结果大小=50条(不必使用中间文件)②自然连接()读Student表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。