版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL语句的执行过程以及数据库内存结构♦SQL语句的执行过程
♦数据库的内存结构DDL(数据定义语言)DML(数据操纵语言)SQL语句的类型修改Oracle数据字典所执行的语句。它们是创建表、增加用户、删除表中的列、创建触发器等的语句例如:CREATETABLE、CREATEUSER、CREATEPACKAGE、ALTERTABLE、CREATEPROCEDUREDDL(数据定义语言)访问和修改数据库中数据所执行的语句。这些语句包括SELECT、INSERT、MERGE、UPDATE和DELETE命令DML(数据操纵语言)Oracle执行一条语句从开始到结束经过4个步骤:分析对提交的语句进行语法和语义检查优化生成一个可在数据库中用来执行语句的最佳计划行资源生成为会话取得最佳计划和建立执行计划语句执行完成实际执行查询的行资源生成步骤的输出语句执行过程语法分析查询是不是合法的语句语义分析如果是合法的语句,还需要检查是否具有访问权限、访问的列是否在所访问的表中、是否存在歧义共享池检查如果是DML语句还需要进行共享池检查,此语句是否已经被其他用户分析过且Oracle可重用已经执行的工作,如果是就进行软分析,如果不是就进行硬分析。DDL总是硬分析,从不重用分析共享池概念是Oracle体系结构的一个关键成分。共享池是Oracle共享全局区(SGA)中的一块内存,其中库高速缓存区存放以前执行过的SQL语句、PL/SQL代码,数据字典高速缓存区存放字典信息硬分析软分析共享池检查分析查询检查语法验证语义计算散列值找到一个匹配验证存在一个与我们的查询完全相同的查询(引用相同的对象)确认我们具有访问所有引用对象的必须的权限验证语句在相同的环境中执行如果是软分析就直接跳过下面的优化和行资源生成这一重要步骤硬分析和软分析所有DML语句第一次提交给Oracle时,在它们的生存期中至少要优化一次。优化发生在硬分析中。语句义上和语法上完全相同,且执行环境也相同的语句的执行可以利用以前硬分析的工作。在此情形下,对它们进行软分析。硬分析包括查询优化步骤。这是一种费劲的、CPU密集型的处理过程,所花的时间可能比语句的实际执行时间还要长。查询优化工作是要找到可能是最好的执行计划优化和行资源生成基于规则则的优化化程序((RBO)这种优化化程序基基于一组组规则建建立查询询计划。。它不考考虑对象象尺寸、、列的基基数、数数据的分分布、排排序区尺尺寸以及及其它因因素。查查询优化化只能利利用已经经编好的的规则。。基于成本本的优化化程序((CBO)这种优化化程序根根据收集集的实际际访问数数据的统统计信息息对查询询进行优优化。在在确定最最合适的的计划是是,它将将使用行行数、数数据集的的尺寸以以及许多多其他信信息。CBO将生成许许多(或或许数千千)可能能的查询询计划((解决查查询的预预备途径径),并并给每个个查询计计划赋予予一个数数值成本本。采用用具有最最低成本本的查询询计划优化程序序模式优化之后后就是行行资源生生成,行行资源生生成器是是Oracle中的一个个软件,,它接受受优化程程序的输输出,将将它格式式化为实实际的执执行计划划。例如:在在使用SQL*PLUS中的AUTOTRACE实用程序序时,它它打印查查询计划划行资源生生成语句执行行的最后后步骤是是利用资资源生成成器的输输出实际际执行语语句。它它是DML执行中唯唯一的强强制性的的步骤。。可以跳跳过分析析、优化化和行资资源生成成步骤。。反复执执行语句句。因为为这是目目前为止止最高效效的方法法,只要要有可能能,我们们都希望望建立符符合“分分析一次次,执行行许多次次”规则则的应用用程序。。执行OVERALLTOTALSFORALLNON-RECURSIVESTATEMENTScallcountcpuelapseddiskquerycurrentrows-----------------------------------------------------------------------Parse120.040.120200Execute120.020.0402682923Fetch48560.860.8107703072673-----------------------------------------------------------------------total48800.930.98079732972696count:提供供OCI过程的的执行行次数数CPU:提提供执执行CPU所花的的时间间单位位是秒秒Elapsed:提供供了执执行时时所花花的时时间。。单位位是秒秒。这这个参参数值值等于于用户户响应应时间间Disk:提供供缓存存区从从磁盘盘读取取的次次数Query:以一一致性性模式式从缓缓存区区获得得数据据的次次数Current:以当当前模模式从从缓存存区获获得数数据的的次数数ROWs:返返回调调用或或执行行调用用时,,处理理的数数据行行的数数量。。10:34:55SQL>select*fromdept;Elapsed:00:00:00.10ExecutionPlan----------------------------------------------------------Planhashvalue:3383998547--------------------------------------------------------------------------|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|--------------------------------------------------------------------------|0|SELECTSTATEMENT||4|120|3(0)|00:00:01||1|TABLEACCESSFULL|DEPT|4|120|3(0)|00:00:01|--------------------------------------------------------------------------Note------dynamicsamplingusedforthisstatement(level=2)Statistics----------------------------------------------------------279recursivecalls0dbblockgets58consistentgets8physicalreads0redosize1630bytessentviaSQL*Nettoclient524bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)4rowsprocessed10:35:00SQL>/Elapsed:00:00:00.02ExecutionPlan----------------------------------------------------------Planhashvalue:3383998547--------------------------------------------------------------------------|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|--------------------------------------------------------------------------|0|SELECTSTATEMENT||4|120|3(0)|00:00:01||1|TABLEACCESSFULL|DEPT|4|120|3(0)|00:00:01|--------------------------------------------------------------------------Note------dynamicsamplingusedforthisstatement(level=2)Statistics----------------------------------------------------------0recursivecalls0dbblockgets8consistentgets0physicalreads0redosize802bytessentviaSQL*Nettoclient524bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)4rowsprocessed11:31:43SQL>l1*select*fromdeptorderby1Elapsed:00:00:00.03ExecutionPlan----------------------------------------------------------Planhashvalue:120787663---------------------------------------------------------------------------|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|---------------------------------------------------------------------------|0|SELECTSTATEMENT||4|120|4(25)|00:00:01||1|SORTORDERBY||4|120|4(25)|00:00:01||2|TABLEACCESSFULL|DEPT|4|120|3(0)|00:00:01|---------------------------------------------------------------------------Note------dynamicsamplingusedforthisstatement(level=2)Statistics----------------------------------------------------------0recursivecalls0dbblockgets7consistentgets0physicalreads0redosize794bytessentviaSQL*Nettoclient524bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient1sorts(memory)0sorts(disk)4rowsprocessedaltersystemflushshared_pool;altersystemflushbuffer_cache;Elapsed:00:00:00.20ExecutionPlan----------------------------------------------------------Planhashvalue:120787663---------------------------------------------------------------------------|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|---------------------------------------------------------------------------|0|SELECTSTATEMENT||4|120|4(25)|00:00:01||1|SORTORDERBY||4|120|4(25)|00:00:01||2|TABLEACCESSFULL|DEPT|4|120|3(0)|00:00:01|---------------------------------------------------------------------------Note------dynamicsamplingusedforthisstatement(level=2)Statistics----------------------------------------------------------1195recursivecalls0dbblockgets203consistentgets32physicalreads0redosize794bytessentviaSQL*Nettoclient524bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient13sorts(memory)0sorts(disk)4rowsprocessed数据库缓冲区区高速缓存共享池重做日志缓冲冲区Java池(JavaPool)大池(LargePool)流池(StreamPool)数据库内存结结构SGA共享池Java池流池库高速缓存数据字典缓存存DBCACHESIZELogBuffer大池用于存储最近执行的SQL语句最近使用的数数据定义包括的内存结结构库高速缓存数据字典高速速缓存共享池库高速缓存包包括以下两个个结构:共享SQL:共享SQL为针对数据库库运行的SQL语句存储并共共享执行计划划和语法法分析树。下下次运行同一一SQL语句时,这个个语句就能利利用共享SQL提供的语法分分析信息来加加快其执行速速度。要确保保SQL语句随时可以以使用共享SQL区,文本、方方案和绑定变变量必须完全全相同。共享PL/SQL:共享PL/SQL区存储并共享享最近执行的的PL/SQL语句。经过语语法分析和编编译的程序单单元和过程((函数、程序序包和触发器器)都存储在在这个区中库高速缓存数据库中最近近使用的定义义的集合包括与数据库库文件、表、、索引、列、、用户、权限限和其它数据据库对象相关关的信息在语法分析阶阶段,服务器器进程会在数数据字典中查查找用于解析析对象名和验验证访问的信信息将数据字典信信息高速缓存存到内存中,,可缩短查询询和DML的响应时间数据字典高速速缓存存储已从数据据文件中检索索到的数据块块的副本能够大幅提高高获取和更新新数据时的性性能通过LRU算法管理处理查询时,,Oracle服务器进程在在数据库缓冲冲区高速缓存存中查找任何何所需的块。。如果未在数数据库缓冲区区高速缓存中中找到这个块块,服务器进进程就从数据据文件读取这这个块,并在在数据库缓冲冲区高速缓存存中放置一个个副本。由于于对同一个块块的后续请求求可以在内存存中找到这个个块,因此这这些请求可能能不需要进行行物理读取。。数据库缓冲区区高速缓存Oracle服务器使用LRU(最近最少使使用算法)算算法来释放近近期未被访的的缓冲区,以以便在数据库库缓冲区高速速缓存中为新新块腾出空间间记录对数据库库数据块所做做的全部更改改主要用于恢复复其中记录的更更改称作重做做条目重做条目包含含用于重新构构造或重做更更改的信息重做日志缓冲冲区是一个循循环缓冲区,,它包含对数数据文件块所所做的各种更更改。此信息息存储在重做做条目中。重重做条目包含含将数据恢复复到使用INSERT、UPDATE、DELETE、CREATE、ALTER、或DROP操作进行更改改前的状态所所需要的信息息。重做日志缓冲冲区Statistics----------------------------------------------------------25recursivecalls0dbblockgets2962024consistentgets45465physicalreads0redosize3972bytessentviaSQL*Nettoclient531bytesreceivedviaSQL*Netfromclient3SQL*Netroundtripsto/fromclient0sorts(memory)0sorts(disk)22rowsprocessed谢谢大家9、静夜四无无邻,荒居居旧业贫。。。1月-231月-23Wednesday,January4,202310、雨中黄叶树树,灯下白头头人。。23:04:5923:04:5923:041/4/202311:04:59PM11、以我独沈久久,愧君相见见频。。1月-2323:04:5923:04Jan-2304-Jan-2312、故故人人江江海海别别,,几几度度隔隔山山川川。。。。23:04:5923:04:5923:04Wednesday,January4,202313、乍乍见见翻翻疑疑梦梦,,相相悲悲各各问问年年。。。。1月月-231月月-2323:04:5923:04:59January4,202314、他乡乡生白白发,,旧国国见青青山。。。04一一月月202311:04:59下下午午23:04:591月-2315、比不了了得就不不比,得得不到的的就不要要。。。。一月2311:04下下午1月-2323:04January4,202316、行动出成果果,工作出财财富。。2023/1/423:04:5923:04:5904January202317、做前前,能能够环环视四四周;;做时时,你你只能能或者者最好好沿着着以脚脚为起起点的的射线线向前前。。。11:04:59下下午午11:04下下午23:04:591月-239、没没有有失失败败,,只只有有暂暂时时停停止止成成功功!!。。1月月-231月月-23Wednesday,January4,202310、很多事事情努力力了未必必有结果果,但是是不努力力却什么么改变也也没有。。。23:04:5923:04:5923:041/4/202311:04:59PM11、成功就是是日复一日日那一点点点小小努力力的积累。。。1月-2323:04:5923:04Jan-2304-Jan-2312、世间成事事,不求其其绝对圆满满,留一份份不足,可可得无限完完美。。23:04:5923:04:5923:04Wednesday,January4,202313、不知香积寺寺,数里入云云峰。。1月-231月-2323:04:5923:04:59January4,202314、意志坚坚强的人人能把世世界放在在手中像像泥块一一样任意意揉捏。。04一一月202311:04:59下下午23:04:591月-2315、楚塞三三湘接,,荆门九九派通。。。。一月2311:04下下午1月-2323:04January4,202316、少年十五五二十时,,步行夺得得胡马骑。。。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度远程英语教育兼职外教合同3篇
- 二零二五年酒店员工福利待遇转让合同示例3篇
- 二零二五版寄卖合同范本:农产品寄售协议书3篇
- 二零二五版植物营养肥料试验与研究服务合同3篇
- 二零二五年度酒类批发市场租赁销售合同2篇
- 二零二五年度耕地承包与农村土地承包权登记发证合同2篇
- 二零二五年度红色文化遗址保护与修复合同3篇
- 二零二五版趸购电合同:电力批发市场交易合同2篇
- 二零二五版高端社区地下车库经营权转让合同3篇
- 二零二五年度智能化办公大楼安全防范系统合同2篇
- 美的MBS精益管理体系
- 中国高血压防治指南(2024年修订版)解读课件
- 沥青路面施工安全培训
- 机电设备安装施工及验收规范
- 仓库安全培训考试题及答案
- 初中古诗文言文背诵内容
- 天然气分子筛脱水装置吸附计算书
- 档案管理项目 投标方案(技术方案)
- 苏教版六年级上册100道口算题(全册完整版)
- 2024年大学试题(宗教学)-佛教文化笔试考试历年典型考题及考点含含答案
- 计算机辅助设计智慧树知到期末考试答案章节答案2024年青岛城市学院
评论
0/150
提交评论