欢迎来到天天文库
浏览记录
ID:35515193
大小:308.50 KB
页数:5页
时间:2019-03-25
《oracle几个重要的关联技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、oracle几个重要的关联技术执行计划优化器Hintsanalyzedbms_statsexplainplanOracle对数据的访问方式今天特别回顾了一下这几个非常非常重要的技术。。(oralce太深了)一,执行计划:Oracle为完成查询任务,所做的一执行方案,过程,查看方式:1,使用explainplan,安装utlxplan.sql之后会自动创建plan_table的表SQL>@?/rdbms/admin/utlxplan.sql#创建plan_table;表SQL>explainplanforsele
2、ctcount(*)fromscott.temp01;Explained.完成explainplan之后,会把分析结果写入plan_table表中2SQL跟踪文件,参数timed_statistics,max_dump_file_size,user_dump_des三个参数分别设计时间,大小,以及路径。设计sql_trace参数开启3设计setautotraceonsettimingon命令SQL>selectcount(*)fromscott.emp;COUNT(*)----------14Elapsed:0
3、0:00:00.04本文档为网上收集,若侵犯了您的利益,请联系(QQ:253169161),我将立即核对删除。ExecutionPlan----------------------------------------------------------Planhashvalue:2937609675-------------------------------------------------------------------
4、Id
5、Operation
6、Name
7、Rows
8、Cost(%CPU)
9、Time
10、-
11、------------------------------------------------------------------
12、0
13、SELECTSTATEMENT
14、
15、1
16、1(0)
17、00:00:01
18、
19、1
20、SORTAGGREGATE
21、
22、1
23、
24、
25、
26、2
27、INDEXFULLSCAN
28、PK_EMP
29、14
30、1(0)
31、00:00:01#在这里会发现,此处提到一个关于对表的访问方式全表扫描索引扫描(也就是rowid)可以使用hint来强制3第三种就是使用pl/sql了,这部就不说明了二优化器oracle的优化器有CBO与
32、RBO两种,用参数optimizer_mode优化模式设定,共有Rule,Choose,Firstrows,Allrows这四种方式-----------------------------------------------------------------------------RuleBasedOptimizer(RBO)基于规则CostBasedOptimizer(CBO)基于成本,或者讲统计信息ORACLE提供了CBO、RBO两种SQL优化器。CBO在ORACLE7引入,但在ORACLE8i中才成熟
33、。ORACLE已经明确声明在ORACLE9i之后的版本中(ORACLE10G),RBO将不再支持。因此选择CBO是必然的趋势。CBO和本文档为网上收集,若侵犯了您的利益,请联系(QQ:253169161),我将立即核对删除。RBO作为不同的SQL优化器,对SQL语句的执行计划产生重大影响,如果要对现有的应用程序从RBO向CBO移植,则必须充分考虑这些影响,避免SQL语句性能急剧下降;但是,对新的应用系统,则可以考虑直接使用CBO,在CBO模式下进行SQL语句编写、分析执行计划、性能测试等工作,这需要开发者对CB
34、O的特性比较熟悉。以下小结几点在CBO下写SQL语句的注意事项:1、RBO自ORACLE6版以来被采用,有着一套严格的使用规则,只要你按照它去写SQL语句,无论数据表中的内容怎样,也不会影响到你的“执行计划”,也就是说对数据不“敏感”;CBO计算各种可能“执行计划”的“代价”,即cost,从中选用cost最低的方案,作为实际运行方案。各“执行计划”的cost的计算根据,依赖于数据表中数据的统计分布,ORACLE数据库本身对该统计分布并不清楚,必须要分析表和相关的索引(使用ANALYZE命令),才能搜集到CBO所
35、需的数据。2、使用CBO时,编写SQL语句时,不必考虑"FROM"子句后面的表或视图的顺序和"WHERE"子句后面的条件顺序;ORACLE自7版以来采用的许多新技术都是基于CBO的,如星型连接排列查询,哈希连接查询,函数索引,和并行查询等。3、一般而言,CBO所选择的“执行计划”都不会比RBO的“执行计划”差,而且相对而言,CBO对程序员的要求没有RBO那么苛刻,节省了程序员为了从多个
此文档下载收益归作者所有