我们拒绝平庸,拒绝随波逐流,拒绝墨守成规,让梦想不再流浪。

CBO

上一篇 / 下一篇  2014-05-28 09:34:32 / 个人分类:甲骨文

-RT Cc2C_0CBO是Cost-Based Optimization英文的缩写,相对于我们通常所用的RBO(Rule-Based Optimization)。实际上CBO很早就在ORACLE V7版本中引入,由于技术原因,一直不够稳定和成熟,因此,从Oracle 10g开始才得以较大规模的使用。同时ORACLE 也已经从10g开始,不再对RBO引擎进行任何的改进和BUG修补,因此选择CBO 是必然的趋势。

XT+L!Q:x z0

g'hQ]*@w Ug0注:这里不要误解为从10g开始RBO就不支持了,只是Oracle不再对RBO引擎进行任何的改进和BUG修补。在某些CBO无法正确选择执行计划的情况下,还需要手工使用RBO强制Oracle选择合适的执行计划。

WNYv+q051Testing软件测试网B)}:eF(B#d

51Testing软件测试网&Whme)i&a6sN"b

51Testing软件测试网C Z4H1b`Feo1Gs5l

CBO算法的基础就是统计信息。Oracle CBO优化器的统计信息是数据库和数据库对象详细资料的集合,这些统计信息是查询优化器选择最优执行计划的依据。51Testing软件测试网0pJ { D n_0@O

4w8m3F*VT}:c0主要包括以下信息:

sj T \M!k+[:`#I{0

;]K"K,j6Fh ~T01. Table statistics(表统计)

9[#@#b`*J"ZBt0

s-Duru*S#et0Ø Number of rows(行数)51Testing软件测试网cYZ&CpaVf

51Testing软件测试网 rj"d;[Ztk

Ø Number of blocks(块数)

bZM7AM.b2{0

\!A#{,RZ(H2D0Ø Average row length(平均行长度)51Testing软件测试网 ~^|!N^s(U

51Testing软件测试网+KG!i2_eE,w

2. Column statistics(列统计)51Testing软件测试网7YVxM5[ ~!?`

a0NoXh/f"^6d0Ø Number of distinct values (NDV) in column(列中唯一值的数目)

3]+E;Iui;[8s&P,M0

4yH5Tjv K+@0Ø Number of nulls in column(列中空字符的数目)

1s Pp2T~M;Z0

9L v4q mJv0Ø Data distribution (histogram) (数据分布)51Testing软件测试网,u0T4pMtGM/]T/|

5?*f @`T Eg0Ø Extended statistics(扩展统计信息)51Testing软件测试网 w!E q+t*z3s!j

#ED0b-I-BY03. Index statistics(索引统计)51Testing软件测试网D F:z%x!e`!]7fI

51Testing软件测试网4{3bJj]5p ez

Ø Number of leaf blocks(叶子块的数目)

9X.K/M.X3kr1AI051Testing软件测试网 g{c]C ul

Ø Levels(树的高度)51Testing软件测试网/k l(l:tS0D6R

bg"\B!P;J0Ø Clustering factor(聚集因子)

8[N-I%z:u051Testing软件测试网 a)l,_*sXa Ih

4. System statistics(系统统计)51Testing软件测试网@d%S3WLB"x

51Testing软件测试网HI-v6{k"k&y}

Ø I/O performance and utilization(I/O性能和利用率)

4^,yO w$T7ca0

I,_P\~t8qf0Ø CPU performance and utilization(CPU性能和利用率)51Testing软件测试网AA l^!M

第1章  常用DBMS_STATS命令及示例通常用到的命令按照用途的不同,大致分下面几类:51Testing软件测试网`+E N[G!A

}.F;pBzW0 

/E0T.T] [0

#O&Ks,C8V#F3p,q,d`+Pq01、收集统计信息:51Testing软件测试网_m7d:w]@

51Testing软件测试网#|U(UQ1z E

51Testing软件测试网\"vZn5[!d9n

命令

7wmY"s;XZ,DF0作用

'q+|5^:FB;O%up![!p051Testing软件测试网O$Th(p @"S3^ N

8uxA%z f)BBB#J7m0GATHER_INDEX_STATS

1r%_.u$~f8]0

"zf0X-b!vA1?3a4t0收集索引统计信息51Testing软件测试网w{lVt&W

]4^uV^0GATHER_TABLE_STATS

(PK.x OpZ&B0

"_xA kk$m?thC0收集表、列、索引统计信息51Testing软件测试网6@ bwK8IKN

Z0[f U)Q5D0GATHER_SCHEMA_STATS51Testing软件测试网!Kz g*NR?TV!u)A

sb` ~`p1D9P0收集用户下所有对象的统计信息51Testing软件测试网tB_'nngF x

n0p)AiJd1}'x [#|Z0GATHER_DICTIONARY_STATS

1je:b[AL0

-U _dO3H;p9B4bsk0收集数据字典统计信息(不建议手工收集)51Testing软件测试网&o!R ITR

nw*D_v@$I;G+\C)?0GATHER_DATABASE_STATS51Testing软件测试网ROUA$g&Kw

51Testing软件测试网,zP!l5s$GC'aH(t

收集数据库中所有对象的统计信息

2P'G Uq'|7j"p#q0

(Cn R:ut{bJp M(G0GATHER_FIXED_OBJECTS_STATS

p.M W!ep)H] Qt"q0

r8VIx M/GHE0收集固定表统计信息(不建议手工收集)51Testing软件测试网 ES i-d1j$r

1o1k t \|0GATHER_SYSTEM_STATS

X9ptsTpsB;H6{})t0

OTauu"X0收集系统统计信息51Testing软件测试网'S ~\/A rSL

'p)H~'g|m051Testing软件测试网2s;t7|O-Ld,np z"Fl;n

 51Testing软件测试网M]7n0K$t5H0f*mK7nU"d

R5n-vV]DY02、删除统计信息

x |2n%B9} ^;zm0

BVv"]P2e0

3@-WI J+lb)YD&b}0命令51Testing软件测试网9`B$D c!Y a(h

作用51Testing软件测试网jz ~*r:C;z#n

vf1t J)G/d*Q4\qa051Testing软件测试网 {oT X$B4R

DELETE_INDEX_STATS

?l4_5?+^%c(A_~051Testing软件测试网 b8[-C G#z N

删除索引统计信息51Testing软件测试网'd;O4`0Q t2w9r1e_ \ V {

51Testing软件测试网 N/o)ldD

DELETE_TABLE_STATS

$h1SCg_#B&f![t0

T1}S*OWU'o6N0删除表、列、索引统计信息

9C:\GS2j8G0

\|Au!Zv0DELETE_SCHEMA_STATS

5@o`dr%\Pj051Testing软件测试网6TS)v2J9F1W o/k

删除用户下所有对象的统计信息51Testing软件测试网9^"EE.LQv*r

51Testing软件测试网2Q`*C%m)Qb9K

DELETE_DICTIONARY_STATS51Testing软件测试网B%L@8h3c1vU

/~l'NhhI!y0删除数据字典统计信息(不建议使用)

)G:g~S1r9} W@B051Testing软件测试网U$m6UI8k0Z qh&x!r

DELETE_DATABASE_STATS51Testing软件测试网4m/F!k6Y7T-VV

{5B SOj K \pl!N\0删除数据库中所有对象的统计信息

"VMK2?9I051Testing软件测试网EpCgb3X#CE2r

DELETE_FIXED_OBJECTS_STATS51Testing软件测试网{ {xcH$W0?

51Testing软件测试网_A7Y1Ti'w0c"o7h

收集固定表统计信息(不建议使用)51Testing软件测试网1FE1?!P m%} \

'dz&`2n6P~ ^0DELETE_SYSTEM_STATS

l ^ O0z{6r$dO*GFf0

\!k3|Px+Ck;J0删除系统统计信息

+w Br"y.}Bk-F051Testing软件测试网E(|EGP5h&uc

DELETE_COLUMN_STATS51Testing软件测试网%p}*u&b!B8F1n0\;{

51Testing软件测试网.v+D |)b0Q3t\[,l NE2d*Z

删除某列统计信息51Testing软件测试网 U#DG K A,G

51Testing软件测试网!zf ezwi }(e#on1\6OgK

8EWxLMU0 

|*bc-X5BQfZu051Testing软件测试网O#T^-qkd

3、锁定和解锁统计信息

l aM1sh#l\(|0

n` ca4~%cZ9J_051Testing软件测试网rr]{ a[L

命令

A%FH1yiC7D0作用51Testing软件测试网B{;H!dri#t'MB

ks3o5o*x,`4~0h_051Testing软件测试网;u,EeWL

LOCK_TABLE_STATS

srOB6b051Testing软件测试网Utr:Mvkz

锁定表统计信息51Testing软件测试网F&Y I*m s i!i#Kg

!ZjMP4K,U0LOCK_PARTITION_STATS51Testing软件测试网3E A%ol6x2[!Jk.wc]

51Testing软件测试网.\2X]*a%U4?H)pw n2y

锁定表分区统计信息51Testing软件测试网E)]m L`MU q&rI%d

51Testing软件测试网B_tI1bR9n*Y6k&S

LOCK_SCHEMA_STATS51Testing软件测试网[c/c7?(jM!\&sg

51Testing软件测试网:gTg5MU?(^

锁定用户下所有对象的统计信息

],y1p _ B0

2Mm-\Q*H UC^0UNLOCK_TABLE_STATS

(y"a/R%k(~5@j051Testing软件测试网d\"Z'OE,R cp

解锁表统计信息51Testing软件测试网hlU/}"B&t\

h[Gr-N9AyRW1Q0UNLOCK_PARTITION_STATS

+w ?+e!n\9F%qY/B051Testing软件测试网p0Q,sT sJG6Y*c

解锁表分区统计信息

:G0|^az c1O051Testing软件测试网RIq;W[/V8v-m

UNLOCK_SCHEMA_STATS

1k(?,nT {051Testing软件测试网0Yf(G;ic

解锁用户下所有对象的统计信息51Testing软件测试网2q5r'Z~_p ]

j5^ W;[:sE7a051Testing软件测试网dC CRZr-e*cZzj*ai

 

K;nz-An!zu'k5F051Testing软件测试网~:bpj'l4{t

4、查看统计信息51Testing软件测试网5v["S,]X @%@.q~e.w/o

51Testing软件测试网 Y)s B-C9{E8N)S

51Testing软件测试网bk"dK&~e lT|4x#D4~

命令51Testing软件测试网D aF/k:J5zn

作用51Testing软件测试网 `:}&Nr$K2\6Kv xk

m)n'?Xb [Y m0

0cqq-[;qg0WvFN0GET_COLUMN_STATS

:V@ t}Y @051Testing软件测试网Y j.D&Pmc!t

查看所有与列相关的统计信息

4G}!q4s"f4C2b!VT E051Testing软件测试网0Y#`~dl;tG9ZE

GET_INDEX_STATS51Testing软件测试网5Uir~Tdi T

51Testing软件测试网p,xm2[xO R R

查看所有与索引相关的统计信息51Testing软件测试网]$T^A"nVJ|&R

)]"z'x2^ht3F0GET_TABLE_STATS51Testing软件测试网[T n+ey H

51Testing软件测试网"`'F#{`c:o.wt

查看所有与表相关的统计信息

#}0y.X`se3g:tEi0{051Testing软件测试网1g,J \j D~1`$};[

GET_SYSTEM_STATS

7oLSwO7E0

4a"Y2}8z rb'_"m0查看系统级的统计信息51Testing软件测试网jE)a#H`-e3} H

51Testing软件测试网^y;Vm9e m#G_I ?

e3A S&` Tq1d%}051Testing软件测试网 Hn.}1Yg

第2章  统计信息有关视图平时可以通过查询以下视图查看数据库对象的统计信息:51Testing软件测试网a0Tvf8qw

51Testing软件测试网"{ E&Y7uQ.J.K}

 

AxwQQ2j0

2Kv_V+\ O01、表统计信息:51Testing软件测试网4k Ve6?m`8wv.W

51Testing软件测试网] w kTr&}L N/{(`

9w5cGQ*z es8i0视图名称51Testing软件测试网'p)g,WKyKOK$I

说明51Testing软件测试网+mc0V|0osbf^*\

P%oY)k n8^0DBA_ALL_TABLES / USER_*

? _.]:~s:y_-O9u0

CTbT1y0所有表和视图的统计信息

k1?"Ak l$v051Testing软件测试网Z\^%zZ1N

DBA_TAB_HISTOGRAMS / USER_*51Testing软件测试网 d4?4Cf`U'E#e

51Testing软件测试网K1L'X&Q}&DS1s"q-h.@

所有表的直方图统计信息51Testing软件测试网X(u!k1yU _

,ll&OM6\*cYua0DBA_TAB_MODIFICATIONS / USER_*51Testing软件测试网jc2{[M#E

"Z&\&a4n4S`:x:ND0所有表的修改信息(插入、删除、更新)

)Kj9nicL6c&a0

0O&{/d S_-I1uF0DBA_TAB_PARTITIONS / USER_*51Testing软件测试网{D:`!XS%mR;l

6\BV6L B|w0所有表分区的统计信息51Testing软件测试网1IP8E(\V Lq]

ACg!S S t9f5gx0DBA_TAB_STATISTICS / USER_*51Testing软件测试网,`~z zT,{~,\

/J?.S)o:xm0所有表、表分区、子分区的统计信息51Testing软件测试网z{)Q[k2T

51Testing软件测试网.qq_3JIyB0?

DBA_TAB_SUBPARTITIONS / USER_*

d:N4y [blM051Testing软件测试网T9VZ-m TK

所有表分区的子分区的统计信息

i6Q ZDB-HV r051Testing软件测试网Mp/Du7B#h#@

3?,Um;|+b051Testing软件测试网IWi)xxe{ ^

 

0~k/xi7H~t C0

AcDp1c"f[k0J02、索引统计信息:

EM/JF%F'_1]u3g.s5l051Testing软件测试网E-uc*P jA

6^,V*])?N&XA4b0视图名称51Testing软件测试网D*UD6L b2r.sI3T @

说明

z7w#lfD0

y!V'Oa`2C8R#?0T0DBA_INDEXES / USER_*

"J0{Hk#n&d.K!Tt051Testing软件测试网"wzn^4]

所有索引的统计信息51Testing软件测试网} s(e9e-P'xgt

51Testing软件测试网w[`V%I KG D

DBA_IND_PARTITIONS / USER_*

p[*n3Z4E;dc0

9@+EQ0{a|;^)U"{E X0所有分区索引的统计信息

Q%^!E%`[b0

;x&dT:@\zef3K-p0DBA_IND_STATISTICS / USER_*51Testing软件测试网,Dx(MxKesiG2n

&] a,nKp e7N!x0所有索引、分区索引、子分区索引的统计信息51Testing软件测试网[!V h `N V

B7mjRCh$o'JZP0DBA_IND_SUBPARTITIONS / USER_*

F)E*Y#PR051Testing软件测试网$Y'C%Nx)LFK?

所有子分区索引的统计信息51Testing软件测试网0n ql4Vn`Zd}

@P1op(d O0

c }e h!Sh I ]0

tIr/YJoO0Z V2Mf0 

&iB:x }1q%v t S(S#@051Testing软件测试网%B:h)}C}5Y1i9B

 51Testing软件测试网$k)y&V1Us^Q6j$sg4b

5um+CYlv_w5^0第3章  手动收集统计信息对于表的数据进行大规模导入或删除操作之后,要对表进行手工统计信息收集,防止统计信息变得陈旧,命令如下:51Testing软件测试网]u"jS$U1\ `h'W

51Testing软件测试网7q%V[Qr

BEGIN

m x$~UY.{$w+o0

uE m&t#}0dbms_stats.gather_table_stats(

4D:Cu1@h r0

P0~eI)|.Y7X j!`e0ownname => 'username',

"n5V&_ba051Testing软件测试网2L)hco1F ]&O:n^]

tabname => 'tablename');

4w!? P,e0T+K0

{ Kwk"ua0END;51Testing软件测试网N*~G*o+s\ M(o(g3t

m5~0ShXD)e6FC7K0/51Testing软件测试网&_ I _D fz)`.q

)D,Y| y hso051Testing软件测试网 V*Kem"M7[h Nd

 51Testing软件测试网Qd?JNHHn


TAG:

 

评分:0

我来说两句

日历

« 2024-04-15  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 109288
  • 日志数: 89
  • 图片数: 1
  • 文件数: 15
  • 建立时间: 2013-03-01
  • 更新时间: 2018-08-23

RSS订阅

Open Toolbar