查询调整的路线图

查询调整的路线图

===========================

对于每个SQL语句,可以使用不同的方法来检索所需的数据。 优化是基于对许多不同标准的评估,选择最有效的方式来检索此数据的过程。 CBO的优化选择基于预先收集的表和索引统计信息,而RBO则基于一组规则做出决策,而不依赖任何统计信息。 CBO对统计数据的依赖使其比RBO灵活得多,因为只要保持最新的统计数据,它就可以准确反映实际数据量。 Oracle10g不支持RBO。

要在会话级别收集10046跟踪:

更改会话集timed_statistics = true;

更改会话集statistics_level = all;

更改会话集max_dump_file_size =无限;

更改会话集事件“永远为10046跟踪名称上下文,级别12”;

DBMS_SUPPORT软件包的特征

=============================

在本文中,我描述了Oracle内未记录的功能,不能保证结果

将与所有版本完全相同。

安装DBMS软件包

-----------------------

[oracle @ localhost管理员] $ ls -ltr * supp *

-rw-r ----- 1 oracle oracle 1546 2001年2月27日dbmssupp.sql

-rw-r ----- 1 oracle oracle 1198 2005年9月19日prvtsupp.plb

SQL> @ $ ORACLE_HOME / rdbms / admin / dbmssupp

---------------------------------------------

-运行您的选择-

SQL>执行DBMS_SUPPORT。START_TRACE;

PL / SQL过程成功完成。

SQL> <==您的查询

SQL>执行DBMS_SUPPORT.STOP_TRACE;

PL / SQL过程成功完成。

系统名称:Linux

节点名称:localhost.localdomain

发行:2.6.18-53.el5xen

版本:#1 SMP,2007年11月10日星期六19:46:12

机器:x86_64

实例名称:orcl

此实例安装的重做线程:1

Oracle进程号:16

Unix进程pid:4947,图像:oracle@localhost.localdomain(TNS V1-V3)

*** 2008-01-21 12:00:25.204

***服务名称:(SYS $ USERS)2008-01-21 12:00:25.204

***会话ID:(158.3)2008-01-21 12:00:25.204

=====================

在光标#6中解析len = 198 dep = 1 uid = 0 oct == 3 lid = 0 tim = 1172745727738352 hv = 4125641360 ad ='6c2b8cc0'

从obj $中选择obj#,type#,ctime,mtime,stime,status,dataobj#,flags,oid $,spare1,spare2,其中owner#=:1和name =:2和namespace =:3,remoteowner为null

并且linkname为null和subname为null

STMT结束

解析#6:c = 0,e = 620,p = 0,cr = 0,cu = 0,mis = 1,r = 0,dep = 1,og = 4,ti m = 1172745727738344

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727740552 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

PARSE#3:c = 0,e = 587,p = 0,cr = 0,cu = 0,mis = 1,r = 0,dep = 2,og = 3,ti m = 1172745727740544

EXEC#3:c = 0,e = 2148,p = 0,cr = 0,cu = 0,mis = 1,r = 0,dep = 2,og = 3,t im = 1172745727742876

等待#3:nam ='db文件顺序读取'ela = 46文件#= 1块#= 1888块= 1 obj#=-1 tim = 1172745727743123

FETCH#3:c = 0,e = 334,p = 1,cr = 3,cu = 0,mis = 0,r = 12,dep = 2,og = 3,t im = 1172745727743301

STAT#3 id = 1 cnt = 12 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 3 pr = 1 pw = 0时间= 359 us)'

STAT#3 id = 2 cnt = 12 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 3 pr = 1 pw = 0时间= 310 us)'

STAT#3 id = 3 cnt = 1 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 2 pr = 0 pw = 0 time = 51 us)'

=====================

在光标#3中解析len = 210 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727744437 hv = 864012087 ad ='6c1e0010'

选择/ * +规则* / bucket_cnt,row_cnt,cache_cnt,null_cnt,timestamp#,sample_size,最小值,最大值,distcnt,lowval,hival,密度,col#,spare1,reserve2

,来自hist_head $的avgcln,其中obj#=:1和intcol#=:2

STMT结束

PARSE#3:c = 0,e = 533,p = 0,cr = 0,cu = 0,mis = 1,r = 0,dep = 2,og = 3,ti m = 1172745727744429

执行#3:c = 0,e = 935,p = 0,cr = 0,cu = 0,mis = 1,r = 0,dep = 2,og = 3,ti m = 1172745727745569

FETCH#3:c = 0,e = 94,p = 0,cr = 3,cu = 0,mis = 0,r = 1,dep = 2,og = 3,tim = 1172745727745746

STAT#3 id = 1 cnt = 1 pid = 0 pos = 1 obj = 255 op ='通过索引行HIST_HEAD $访问表(cr = 3 pr = 0 pw = 0时间= 96 us)'

STAT#3 id = 2 cnt = 1 pid = 1 pos = 1 obj = 257 op ='INDEX RANGE SCAN I_HH_OBJ#_INTCOL#(cr = 2 pr = 0 pw = 0 time = 45 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727745997 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

EXEC#3:c = 0,e = 49,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727745991

FETCH#3:c = 8000,e = 242,p = 0,cr = 3,cu = 0,mis = 0,r = 20,dep = 2,og = 3,tim = 1172745727746335

STAT#3 id = 1 cnt = 32 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 6 pr = 1 pw = 0时间= 570 us)'

STAT#3 id = 2 cnt = 32 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 6 pr = 1 pw = 0时间= 455 us)'

STAT#3 id = 3 cnt = 2 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 4 pr = 0 pw = 0 time = 76 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727746666 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 68,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727746659

FETCH#3:c = 0,e = 124,p = 0,cr = 3,cu = 0,mis = 0,r = 9,dep = 2,og = 3,ti m = 1172745727746916

STAT#3 id = 1 cnt = 41 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 9 pr = 1 pw = 0时间= 718 us)'

STAT#3 id = 2 cnt = 41 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 9 pr = 1 pw = 0时间= 548 us)'

STAT#3 id = 3 cnt = 3 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 6 pr = 0 pw = 0 time = 105 us)'

=====================

在光标#3中解析len = 210 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727747246 hv = 864012087 ad ='6c1e0010'

选择/ * + Rule * /

,来自hist_head $的avgcln,其中obj#=:1和intcol#=:2

STMT结束

执行#3:c = 0,e = 49,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727747240

FETCH#3:c = 0,e = 50,p = 0,cr = 3,cu = 0,mis = 0,r = 1,dep = 2,og = 3,tim = 1172745727747400

STAT#3 id = 1 cnt = 2 pid = 0 pos = 1 obj = 255 op ='通过索引行HIST_HEAD $访问表(cr = 6 pr = 0 pw = 0时间= 148 us)'

STAT#3 id = 2 cnt = 2 pid = 1 pos = 1 obj = 257 op ='INDEX RANGE SCAN I_HH_OBJ#_INTCOL#(cr = 4 pr = 0 pw = 0 time = 71 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727747609 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

EXEC#3:c = 0,e = 42,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727747603

等待#3:nam ='db文件顺序读取'ela = 47文件#= 1块#= 56504块= 1 obj#=-1 tim = 1172745727747808

等待#3:nam ='db文件顺序读取'ela = 24文件#= 1块#= 2006块= 1 obj#=-1 tim = 1172745727747900

FETCH#3:c = 0,e = 348,p = 2,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727748053

STAT#3 id = 1 cnt = 61 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 13 pr = 3 pw = 0时间= 1132 us)'

STAT#3 id = 2 cnt = 61 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 13 pr = 3 pw = 0时间= 878 us)'

STAT#3 id = 3 cnt = 4 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 8 pr = 0 pw = 0 time = 125 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727748297 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 44,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727748291

FETCH#3:c = 0,e = 156,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727748549

STAT#3 id = 1 cnt = 81 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 17 pr = 3 pw = 0时间= 1336 us)'

STAT#3 id = 2 cnt = 81 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 17 pr = 3 pw = 0时间= 1009 us)'

STAT#3 id = 3 cnt = 5 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 10 pr = 0 pw = 0 time = 147 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727748769 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 39,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727748763

FETCH#3:c = 0,e = 149,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727749013

STAT#3 id = 1 cnt = 101 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 21 pr = 3 pw = 0时间= 1550 us)'

STAT#3 id = 2 cnt = 101 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 21 pr = 3 pw = 0时间= 1158 us)'

STAT#3 id = 3 cnt = 6 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 12 pr = 0 pw = 0 time = 164 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727749231 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 39,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727749225

FETCH#3:c = 0,e = 149,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727749475

STAT#3 id = 1 cnt = 121 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 25 pr = 3 pw = 0时间= 1763 us)'

STAT#3 id = 2 cnt = 121 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 25 pr = 3 pw = 0时间= 1311 us)'

STAT#3 id = 3 cnt = 7 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 14 pr = 0 pw = 0 time = 183 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727749693 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 39,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727749687

FETCH#3:c = 0,e = 150,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727749961

STAT#3 id = 1 cnt = 141 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 29 pr = 3 pw = 0时间= 1978 us)'

STAT#3 id = 2 cnt = 141 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 29 pr = 3 pw = 0时间= 1452 us)'

STAT#3 id = 3 cnt = 8 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 16 pr = 0 pw = 0 time = 202 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727750204 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 50,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727750197

FETCH#3:c = 0,e = 159,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727750471

STAT#3 id = 1 cnt = 161 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 33 pr = 3 pw = 0时间= 2206 us)'

STAT#3 id = 2 cnt = 161 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 33 pr = 3 pw = 0时间= 1604 us)'

STAT#3 id = 3 cnt = 9 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 18 pr = 0 pw = 0 time = 224 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727750701 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 42,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727750695

FETCH#3:c = 0,e = 151,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727750945

STAT#3 id = 1 cnt = 181 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 37 pr = 3 pw = 0时间= 2421 us)'

STAT#3 id = 2 cnt = 181 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 37 pr = 3 pw = 0时间= 1755 us)'

STAT#3 id = 3 cnt = 10 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 20 pr = 0 pw = 0 time = 243 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727751162 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 39,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727751156

FETCH#3:c = 0,e = 150,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727751404

STAT#3 id = 1 cnt = 201 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 41 pr = 3 pw = 0时间= 2635 us)'

STAT#3 id = 2 cnt = 201 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 41 pr = 3 pw = 0时间= 1928 us)'

STAT#3 id = 3 cnt = 11 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 22 pr = 0 pw = 0 time = 261 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727751620 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 38,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727751614

FETCH#3:c = 0,e = 149,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727751863

STAT#3 id = 1 cnt = 221 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 45 pr = 3 pw = 0时间= 2848 us)'

STAT#3 id = 2 cnt = 221 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 45 pr = 3 pw = 0时间= 2106 us)'

STAT#3 id = 3 cnt = 12 pid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 24 pr = 0 pw = 0 time = 278 us)'

=====================

在光标#3中解析len = 121 dep = 2 uid = 0 oct = 3 lid = 0 tim = 1172745727752081 hv = 3150898423 ad ='6c1ddee0'

从histgrm $中选择/ * + rule * /存储桶,端点,col#,epvalue,其中obj#=:1和intcol#=:2以及row#=:3按存储桶顺序

STMT结束

执行#3:c = 0,e = 39,p = 0,cr = 0,cu = 0,mis = 0,r = 0,dep = 2,og = 3,tim = 1172745727752075

FETCH#3:c = 0,e = 150,p = 0,cr = 4,cu = 0,mis = 0,r = 20,dep = 2,og = 3,t im = 1172745727752325

STAT#3 id = 1 cnt = 241 pid = 0 pos = 1 obj = 0 op ='排序顺序为(cr = 49 pr = 3 pw = 0时间= 3064 us)'

STAT#3 id = 2 cnt = 241 pid = 1 pos = 1 obj = 253 op ='表访问集群历史记录(cr = 49 pr = 3 pw = 0时间= 2270 us)'

STAT#3 id = 3 cnt = 13 ppid = 2 pos = 1 obj = 252 op ='INDEX UNIQUE SCAN I_OBJ#_INTCOL#(cr = 26 pr = 0 pw = 0 time = 296 us)'

=====================

-更多-(4%)

== ------------------------------------------------ ------------------------------------------------

如何解释内部跟踪输出

STAT行报告说明编号<CURSOR>的计划统计信息。

PARSE解析语句

EXEC执行预分析的语句。

FETCH从游标获取行。

--

--

--

--

--

--

这是解释和调查队列分析,等待事件的简短说明。

维诺德·萨达南丹(Vinod Sadanandan)

甲骨文数据库管理员

From: https://bytes.com/topic/oracle/insights/761559-roadmap-query-tuning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值