oracle执行计划和sql调优.ppt

oracle执行计划和sql调优.ppt

ID:48048667

大小:817.13 KB

页数:150页

时间:2019-05-06

oracle执行计划和sql调优.ppt_第1页
oracle执行计划和sql调优.ppt_第2页
oracle执行计划和sql调优.ppt_第3页
oracle执行计划和sql调优.ppt_第4页
oracle执行计划和sql调优.ppt_第5页
资源描述:

《oracle执行计划和sql调优.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ORACLE调优吴志忠2009.09面向对象懂基本数据库常识有ORACLE开发使用经验乐于接受性能优化探讨内容安排第一部分:背景知识第二部分:SQL调优第三部分:工具介绍第四部分ROWID高级应用第五部分附录调优方面1商业逻辑2优化数据设计3优化应用程序设计4优化数据库逻辑设计5优化数据库操作6优化访问路径7优化内存分配8优化I/O和物理结构9优化资源争用10优化所采用的平台*越靠前越重要第一部分背景知识SQL处理流程优化器缓冲池执行计划变量绑定索引表连接SQL执行的步骤解析:安全性检查,语法检查;创建:评估多个执行计划,并选择一个最优的执行

2、计划;执行:捆绑变量,执行已经创建的执行计划;获取:获取结果集,进行转换,排序等;SQL处理流程·第1步:CreateaCursor创建游标·第2步:ParsetheStatement分析语句·第5步:BindAnyVariables绑定变量·第7步:RuntheStatement运行语句·第9步:ClosetheCursor关闭游标如果使用了并行功能,还会包含下面这个阶段:·第6步:ParallelizetheStatement并行执行语句如果是查询语句,则需要以下几个额外的步骤·第3步:DescribeResultsofaQuery描述查

3、询的结果集·第4步:DefineOutputofaQuery定义查询的输出数据·第8步:FetchRowsofaQuery取查询出来的行SQL优化器(Optimizer)概念:是一个为所有的sql语句创建执行计划的工具。目的:生成最快的,消耗资源最少的执行计划。两种优化器a.RBO,Rule-BasedOptimizerb.CBO,Cost-BasedOptimizerRBO特性总是使用索引(不识别位图索引或基于函数的索引)总是从驱动表开始只有在不可避免的情况下,才使用全表扫描索引选择的随机特性*从ORACLE10G开始,开始废弃RBO优化器

4、。这句话并不是指在ORACLE10G中不能使用RBO,而是从ORACLE10G开始开始,不再为RBO的BUG提供修补服务CBO特性前提条件:存在表和索引的统计资料;使用analyzetable和analyzeindex命令从表或索引中收集统计资料(表的记录平均长度,记录数等);如果没有现存的统计资料,将在sql运行时收集资料,会大大降低性能;影响CBO执行计划成本评估的初始化参数较多(optimizer_search_limit,optimizer_max_permutations,optimizer_index_caching,hash_a

5、rea_size,hash_join_enable,hash_multiblock_io_count,star_transformation_enable,optimizer_index_cost_adj等)SQL优化器模式实例级通过对init.ora中OPTIMIZER_MODE参数,2会话级ALTERSESSIONSETOPTIMIZER_MODE=;3语句别hintCHOOSE不是优化器,决定用什么优化器的参数:如果表有分析资料,便用CBO,否则用RBO在缺省情况下,ORACLE采用CHOOSE优化器模式CHOOSERBOCBOFIRS

6、T_ROWS_n(OLTP系统)FIRST_ROWSALL_ROWS(DSS系统)表分析为了使用CBO,必须经常运行analyze命令,以增加数据库中的对象统计信息多表连接时只要有一个表分析过,就用CBO7i:ANALYZE和DBMS_UTILITY从815开始有DBMS_STATUS从10g以后可以自动分析表,有个系统job(GATHER_STATS_JOB)。SQL优化器处理体系结构解析程序优化程序行源产生程序SQL执行SQL优化器处理流程图-1SQL优化器处理流程图-2SQL优化器处理流程图-3缓冲池PGAProgramGlobalAr

7、ea是为每个连接到Oracledatabase的用户进程保留的内存SGASystemGlobalArea是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。缓冲池-SGA共享池(Sharedpool)SQL语句缓冲(LibraryCache)也叫库缓冲区数据字典缓冲区(DataDictionaryCache)块缓冲区高速缓存(DatabaseBufferCache)重做日志缓冲区(Redologbuffer)Java程序缓冲区(JavaPool)大池(LargePo

8、ol)执行计划概念就是对一个查询任务,做出一份怎样去完成任务的详细方案.工具变量绑定为什么DBA要求我们变量绑定预编译概念怎样处理(?,?Procedure等)变量

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

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

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