




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章DataBase查询优化AnIntroductiontoDatabaseSystem关系系统的定义一个数据库管理系统可定义为关系系统,当且仅当它至少支持:1.关系数据库(即关系数据结构)系统中只有表这种结构2.支持选择、投影和(自然)连接运算对这些运算不要求用户定义任何物理存取路径对关系系统的最低要求不支持关系数据结构的系统显然不能称为关系系统仅支持关系数据结构,但没有选择、投影和连接运算功能的系统仍不能算作关系系统。原因:不能提高用户的生产率支持选择、投影和连接运算,但要求定义物理存取路径,这种系统也不能算作真正的关系系统。原因:就降低或丧失了数据的物理独立性选择、投影、连接运算是最有用的运算3.1.2关系系统的分类分类依据:支持关系模型(三要素)的程度分类⒈表式系统:支持关系数据结构(即表)⒉(最小)关系系统支持:关系数据结构选择、投影、连接关系操作⒊关系完备的系统支持:关系数据结构 所有的关系代数操作⒋全关系系统支持:关系模型三要素特别是:数据结构中域的概念
关系系统的分类(续)
数据结构数据操作完整性表式系统表
(最小)关系系统表选择、投影、连接
关系完备的系统表
全关系系统
第三章关系系统及其查询优化3.1关系系统3.2关系系统的查询优化3.3小结3.2关系系统的查询优化3.2.1查询优化概述3.2.2查询优化的必要性3.2.3查询优化的一般准则3.2.4关系代数等价变换规则3.2.5关系代数表达式的优化算法3.2.6优化的一般步骤什么是反应时间1/10秒是用户认为系统能够立即反应的极限1秒是用户觉得没有被中断的极限10秒是用户能将注意力继续集中在与计算机的对话上的时间极限3.2.1查询优化概述查询优化的必要性数据的物理独立性,即数据的存取路径、存储结构、存取策略对用户透明,查询效率不如非关系数据库。查询优化极大地影响RDBMS的性能。查询优化并不只是DBMS的任务,用户的查询计划质量直接影响优化效率和结果,因此部分用户有必要了解查询优化的概念和相关技术,写出‘好’的查询,执行效率高的语句。
查询优化的可能性关系数据语言的语义级别高,使DBMS可以从关系表达式中分析查询语义。由DBMS进行查询优化的好处用户不必考虑如何最好地表达查询以获得较好的效率。系统可以比用户程序的优化做得更好(1)优化器可以从数据字典(DD)中获取许多统计信息,而用户程序则难以获得这些信息。(2)如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。(3)优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。(4)优化器中包括了很多复杂的优化技术服务器收到SQL语句SQLSQL语句解析数据库的优化器决定执行路径变量赋值执行Data数据库是如何处理SQL语句的?SQL内部重写并产生多种执行计划执行计划1执行计划2执行计划3代价估计执行计划1代价=1000执行计划2代价=3000执行计划3代价=500执行它是否尝试了所有的的途径来重写你的SQL语句?代价的估计有多精确?优化器是如何工作的总代价=I/O代价+CPU代价+内存代价查询优化目标查询优化的总目标选择有效策略,求得给定关系表达式的值实际系统的查询优化步骤1.将查询转换成某种内部表示,通常是语法树。2.根据一定的等价变换规则把语法树转换成标准(优化)形式。
[工具]:关系代数等价变换规则、关系代数表达式的优化算法3.选择低层的操作算法对于语法树中的每一个操作计算各种执行算法的执行代价选择执行代价小的执行算法4.生成查询计划(查询执行方案)查询计划是由一系列内部操作组成的。SQL优化3.2.2查询优化的必要性例:求选修了课程C2的学生姓名
SELECTStudent.Sname FROMStudent,SC WHEREStudent.Sno=SC.Sno ANDSC.Cno='2';分析:执行策略1、2、3的效率(159页)3.2.3查询优化的一般准则(161页)选择运算应尽可能先做
目的:减小中间关系在执行连接操作前对关系适当进行预处理按连接属性排序(排序合并连接)在连接属性上建立索引(索引连接)
投影运算和选择运算同时做目的:避免重复扫描关系将投影运算与其前面或后面的双目运算结合目的:减少扫描关系的遍数某些选择运算+在其前面执行的笛卡尔积===>连接运算
例:бStudent.Sno=SC.Sno(Student×SC)
StudentSC提取公共子表达式3.2.4关系代数等价变换规则关系代数表达式等价指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的上面的优化策略大部分都涉及到代数表达式的变换
常用的等价变换规则
设E1、E2等是关系代数表达式,F是条件表达式
l.连接、笛卡尔积交换律
E1×E2≡E2×E1 E1E2≡E2E1 E1FE2≡E2FE1
关系代数等价变换规则(续)
2.连接、笛卡尔积的结合律(E1×E2)×E3≡E1×(E2×E3)(E1E2)E3≡E1(E2E3)(E1E2)E3≡E1(E2E3)
F
F
F
F关系代数等价变换规则(续)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)【注】:9,10,使尽可能将投影移动到语法树的叶端小结1-2:连接、笛卡尔积的交换律、结合律3:合并或分解投影运算4:合并或分解选择运算5-8:选择运算与其他运算交换5,9,10:投影运算与其他运算交换3.2.5关系代数表达式的优化算法
算法:关系表达式的优化输入:一个关系表达式的语法树。输出:计算该表达式的程序。方法:(1)分解选择运算利用规则4把形如бF1∧F2∧…∧Fn(E)变换为бF1(бF2(…(бFn(E))…))关系代数表达式的优化算法
(续)(2)通过交换选择运算,将其尽可能移到叶端对每一个选择,利用规则4~8尽可能把它移到树的叶端。
(3)通过交换投影运算,将其尽可能移到叶端
对每一个投影利用规则3,9,l0,5中的一般形式尽可能把它移向树的叶端。
关系代数表达式的优化算法
(续)(4)合并串接的选择和投影,以便能同时执行或在一次扫描中完成利用规则3~5把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成。尽管这种变换似乎违背“投影尽可能早做”的原则,但这样做效率更高。
关系代数表达式的优化算法
(续)(5)对内结点分组把上述得到的语法树的内节点分组。每一双目运算(×,,∪,-)和它所有的直接祖先为一组(这些直接祖先是б,π运算)。如果其后代直到叶子全是单目运算,则也将它们并入该组,但当双目运算是笛卡尔积(×),而且其后的选择不能与它结合为等值连接时除外。把这些单目运算单独分为一组。
关系代数表达式的优化算法
(续)(6)生成程序生成一个程序,每组结点的计算是程序中的一步。各步的顺序是任意的,只要保证任何一组的计算不会在它的后代组之前计算。
3.2关系系统的查询优化3.2.1查询优化概述3.2.2查询优化的必要性3.2.3查询优化的一般准则3.2.4关系代数等价变换规则3.2.5关系代数表达式的优化算法3.2.6优化的一般步骤
3.2.6优化的一般步骤1.把查询转换成某种内部表示2.代数优化:把语法树转换成标准(优化)形式3.物理优化:选择低层的存取路径4.生成查询计划,选择代价最小的优化的一般步骤(续)(1)把查询转换成某种内部表示例:求选修了课程C2的学生姓名 SELECTStudent.Sname FROMStudent,SC WHEREStudent.Sno=SC.Sno ANDSC.Cno='2';(1)把查询转换成某种内部表示语法树结果project(Sname)
select(SC.Cno=
2
)
join(Student.Sno=SC.Sno)
StudentSC关系代数语法树πSname
SC.Cno=’2’
Student.Sno=SC.Sno
×
StudentSC(2)代数优化利用优化算法把语法树转换成标准(优化)形式
πSname
Student.Sno=SC.Sno
SC.Cno=
2
×
StudentSC(3)物理优化:选择低层的存取路径-优化器查找数据字典获得当前数据库状态信息选择字段上是否有索引连接的两个表是否有序连接字段上是否有索引然后根据一定的优化规则选择存取路径
如本例中若SC表上建有Cno的索引,则应该利用这个索引,而不必顺序扫描SC表。(4)生成查询计划,选择代价最小的在作连接运算时,若两个表(设为R1,R2)均无序,连接属性上也没有索引,则可以有下面几种查询计划:
对两个表作排序预处理对R1在连接属性上建索引对R2在连接属性上建索引在R1,R2的连接属性上均建索引对不同的查询计划计算代价,选择代价最小的一个。在计算代价时主要考虑磁盘读写的I/O数,内存CPU处理时间在粗略计算时可不考虑。
第三章
关系系统及其查询优化3.1关系系统3.2关系系统的查询优化3.3小结3.3小结关系系统关系系统的定义 一个数据库管理系统可定义为关系系统,当且仅当它至少支持:1.关系数据库(即关系数据结构)2.支持选择、投影和(自然)连接运算,且不要求用户定义任何物理存取路径小结(续)关系系统的分类表式系统(最小)关系系统关系完备系统全关系系统
AnIntroductiontoDatabaseSystem精品课件!AnIntroductiontoDatabaseSystem精品课件!历史ⅱ岳麓版第13课交通与通讯的变化资料精品课件欢迎使用[自读教材·填要点]一、铁路,更多的铁路1.地位铁路是
建设的重点,便于国计民生,成为国民经济发展的动脉。2.出现1881年,中国自建的第一条铁路——唐山
至胥各庄铁路建成通车。1888年,宫廷专用铁路落成。交通运输开平
3.发展(1)原因:①甲午战争以后列强激烈争夺在华铁路的
。②修路成为中国人
的强烈愿望。(2)成果:1909年
建成通车;民国以后,各条商路修筑权收归国有。4.制约因素政潮迭起,军阀混战,社会经济凋敝,铁路建设始终未入正轨。修筑权救亡图存京张铁路
二、水运与航空1.水运(1)1872年,
正式成立,标志着中国新式航运业的诞生。(2)1900年前后,民间兴办的各种轮船航运公司近百家,几乎都是在列强排挤中艰难求生。2.航空(1)起步:1918年,附设在福建马尾造船厂的海军飞机工程处开始研制
。(2)发展:1918年,北洋政府在交通部下设“
”;此后十年间,航空事业获得较快发展。轮船招商局水上飞机筹办航空事宜处三、从驿传到邮政1.邮政(1)初办邮政:1896年成立“大清邮政局”,此后又设
,邮传正式脱离海关。(2)进一步发展:1913年,北洋政府宣布裁撤全部驿站;1920年,中国首次参加
。邮传部万国邮联大会2.电讯(1)开端:1877年,福建巡抚在
架设第一条电报线,成为中国自办电报的开端。(2)特点:进程曲折,发展缓慢,直到20世纪30年代情况才发生变化。3.交通通讯变化的影响(1)新式交通促进了经济发展,改变了人们的通讯手段和
,
转变了人们的思想观念。(2)交通近代化使中国同世界的联系大大增强,使异地传输更为便捷。(3)促进了中国的经济与社会发展,也使人们的生活
。台湾出行方式多姿多彩[合作探究·提认知]
电视剧《闯关东》讲述了济南章丘朱家峪人朱开山一家,从清末到九一八事变爆发闯关东的前尘往事。下图是朱开山一家从山东辗转逃亡到东北途中可能用到的四种交通工具。依据材料概括晚清中国交通方式的特点,并分析其成因。
提示:特点:新旧交通工具并存(或:传统的帆船、独轮车,近代的小火轮、火车同时使用)。
原因:近代西方列强的侵略加剧了中国的贫困,阻碍社会发展;西方工业文明的冲击与示范;中国民族工业的兴起与发展;政府及各阶层人士的提倡与推动。[串点成面·握全局]
一、近代交通业发展的原因、特点及影响1.原因(1)先进的中国人为救国救民,积极兴办近代交通业,促进中国社会发展。(2)列强侵华的需要。为扩大在华利益,加强控制、镇压中国人民的反抗,控制和操纵中国交通建设。(3)工业革命的成果传入中国,为近代交通业的发展提供了物质条件。2.特点(1)近代中国交通业逐渐开始近代化的进程,铁路、水运和航空都获得了一定程度的发展。(2)近代中国交通业受到西方列强的控制和操纵。(3)地域之间的发展不平衡。3.影响(1)积极影响:促进了经济发展,改变了人们的出行方式,一定程度上转变了人们的思想观念;加强了中国与世界各地的联系,丰富了人们的生活。(2)消极影响:有利于西方列强的政治侵略和经济掠夺。1.李鸿章1872年在上海创办轮船招商局,“前10年盈和,成为长江上重要商局,招商局和英商太古、怡和三家呈鼎立之势”。这说明该企业的创办 (
)A.打破了外商对中国航运业的垄断B.阻止了外国对中国的经济侵略C.标志着中国近代化的起步D.使李鸿章转变为民族资本家解析:李鸿章是地主阶级的代表,并未转化为民族资本家;洋务运动标志着中国近代化的开端,但不是具体以某个企业的创办为标志;洋务运动中民用企业的创办在一定程度上抵制了列强的经济侵略,但是并未能阻止其侵略。故B、C、D三项表述都有错误。答案:A二、近代以来交通、通讯工具的进步对人们社会生活的影响(1)交通工具和交通事业的发展,不仅推动各地经济文化交流和发展,而且也促进信息的传播,开阔人们的视野,加快生活的节奏,对人们的社会生活产生了深刻影响。(2)通讯工具的变迁和电讯事业的发展,使信息的传递变得快捷简便,深刻地改变着人们的思想观念,影响着人们的社会生活。2.清朝黄遵宪曾作诗曰:“钟声一及时,顷刻不少留。虽有万钧柁,动如绕指柔。”这是在描写 (
)A.电话B.汽车C.电报 D.火车解析:从“万钧柁”“动如绕指柔”可推断为火车。答案:D[典题例析][例1]
上海世博会曾吸引了大批海内外人士利用各种交通工具前往参观。然而在19世纪七十年代,江苏沿江居民到上海,最有可能乘坐的交通工具是 (
)A.江南制造总局的汽车B.洋人发明的火车C.轮船招商局的轮船D.福州船政局的军舰[解析]由材料信息“19世纪七十年代,由江苏沿江居民到上海”可判断最有可能是轮船招商局的轮船。[答案]
C[题组冲关]1.中国近代史上首次打破列强垄断局面的交通行业是(
)A.公路运输 B.铁路运输C.轮船运输 D.航空运输解析:根据所学1872年李鸿章创办轮船招商局,这是洋务运动中由军工企业转向兼办民用企业、由官办转向官督商办的第一个企业。具有打破外轮垄断中国航运业的积极意义,这在一定程度上保护了中国的权利。据此本题选C项。答案:C2.右图是1909年《民呼日报》上登载的一幅漫画,其要表达的主题是(
)A.帝国主义掠夺中国铁路权益B.西方国家学习中国文化C.西方列强掀起瓜分中国狂潮D.西方八国组成联军侵略中国解析:从图片中可以了解到各国举的灯笼是火车形状,20世纪初的这一幅漫画正反映了帝国主义掠夺中国铁路权益。B项说法错误,C项不能反映漫画的主题,D项时间上不一致。答案:A[典题例析][例2]
(2010·福建高考)上海是近代中国茶叶的一个外销中心。1884年,福建茶叶市场出现了茶叶收购价格与上海出口价格同步变动的现象。与这一现象直接相关的近代事业是(
)A.电报业 B.大众报业C.铁路交通业 D.轮船航运业[解析]材料主要反映了信息交流的快捷,故选A。[答案]
A[题组冲关]3.假如某爱国实业家在20世纪初需要了解全国各地商业信息,可采用的最快捷的方式是 (
)A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公益项目参与协议
- 电信网络线路故障的全面排查
- 医疗卫生工程造价咨询合同
- 社交媒体内容创作与优化的艺术
- 2025至2030年中国汽车超载检测系统数据监测研究报告
- 买房逃税 合同范本
- 2025至2030年中国汽车化油器清洁剂数据监测研究报告
- 2024年潍坊昌乐县事业单位招聘考试真题
- 2024年衢州市开化县教育系统招聘高层次紧缺人才笔试真题
- 合租生活琐事管理协议
- 高中主题班会 悟哪吒精神做英雄少年-下学期开学第一课主题班会课件-高中主题班会课件
- 2025电力物资检储配一体化建设技术导则
- 新学期 开学第一课 主题班会课件
- 民法典合同编讲座
- 2024年青岛港湾职业技术学院高职单招语文历年参考题库含答案解析
- 广西壮族自治区公路发展中心2025年面向社会公开招聘657名工作人员高频重点提升(共500题)附带答案详解
- 大学转专业高等数学试卷
- DBJ51-T 198-2022 四川省既有民用建筑结构安全隐患排查技术标准
- 公司厂区保洁培训
- 江苏省招标中心有限公司招聘笔试冲刺题2025
- 2024年防盗门销售合同范本
评论
0/150
提交评论