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

CBO

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

51Testing软件测试网1BawpQn Q

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

u Zt@7K,e051Testing软件测试网2v;K(Gz[s-I$sz a

注:这里不要误解为从10g开始RBO就不支持了,只是Oracle不再对RBO引擎进行任何的改进和BUG修补。在某些CBO无法正确选择执行计划的情况下,还需要手工使用RBO强制Oracle选择合适的执行计划。51Testing软件测试网W*m*u,lc W2m

51Testing软件测试网D,v0K tiAozc8X

51Testing软件测试网GXi:EG0m0u

$v-W0ATGTe0CBO算法的基础就是统计信息。Oracle CBO优化器的统计信息是数据库和数据库对象详细资料的集合,这些统计信息是查询优化器选择最优执行计划的依据。51Testing软件测试网0s ZfDA0L*uQ

51Testing软件测试网FV0| k&m1G I+[

主要包括以下信息:51Testing软件测试网*nr4glw [

51Testing软件测试网&fVzX`t y6J

1. Table statistics(表统计)51Testing软件测试网W9R @lPi

#~w)[u[/n(^[7\0Ø Number of rows(行数)

e5s9R#}e/[&i0F0

,JO\ MLop+uU8C0Ø Number of blocks(块数)51Testing软件测试网rx2Q|!n+Q,zg

51Testing软件测试网xf ui-|Zw

Ø Average row length(平均行长度)

_"n }3wfU*f#j051Testing软件测试网%c)nsO7\~ v].@,N

2. Column statistics(列统计)

'qI{9G1Jl051Testing软件测试网 c-Z [`Y

Ø Number of distinct values (NDV) in column(列中唯一值的数目)51Testing软件测试网A3M#k+eBPO4a

51Testing软件测试网2jP]&e$N|)@9] f

Ø Number of nulls in column(列中空字符的数目)51Testing软件测试网4t{OpJ9H)l"V

loLp(} C%Y0Ø Data distribution (histogram) (数据分布)

u n5n,\[ OjL} s051Testing软件测试网KiD)Rj_

Ø Extended statistics(扩展统计信息)

&DF0Q&q-]Hh0

k/OQhw.JC jS'['K03. Index statistics(索引统计)

vbyB,eDQ)Y0

/a Wq6r m*X3P.Z/u?p2Zq0Ø Number of leaf blocks(叶子块的数目)

H|1j;N4Uiw1x0

vEv5I M9zQ0Ø Levels(树的高度)

f^QG6J}1P+l[0

MJo%~EC0J~0Ø Clustering factor(聚集因子)

J"r4E&[#b051Testing软件测试网V W uI0~AH3^2R!s

4. System statistics(系统统计)51Testing软件测试网T4XSz.VM

51Testing软件测试网Fb\w+C3m+zIW

Ø I/O performance and utilization(I/O性能和利用率)51Testing软件测试网Zn5Q S!{&A

51Testing软件测试网? J lD*F.F:{

Ø CPU performance and utilization(CPU性能和利用率)

1^A2YM7z a3?0第1章  常用DBMS_STATS命令及示例通常用到的命令按照用途的不同,大致分下面几类:51Testing软件测试网 n,UESPG

51Testing软件测试网)I/z |Z7^?"A$D

 51Testing软件测试网] U$PT1@B3Q

51Testing软件测试网e*[/hJQSX%g

1、收集统计信息:51Testing软件测试网.C@;c:i;hh9s

2R5|7qO"e0rY-UE051Testing软件测试网6^ iG-jG R,M

命令51Testing软件测试网a)L5i3dWT4y

作用51Testing软件测试网 ][i"J$CE(H^9b

51Testing软件测试网E-vMi9L d

51Testing软件测试网!w(E2u5\Jk7u;_

GATHER_INDEX_STATS

&@SO+d%Nx*S'\051Testing软件测试网@9SZe:Bi]

收集索引统计信息

n S2h0o_0

'i0{7Bb8F8r)zm5fK0GATHER_TABLE_STATS

6FQ M)E G7S*`b k051Testing软件测试网Qn b]G)tJqH

收集表、列、索引统计信息

]r z1`$@%j0

.M-].vahf5D0GATHER_SCHEMA_STATS51Testing软件测试网s nE^|.]c*b

3ynz Q*~1`([3t0收集用户下所有对象的统计信息51Testing软件测试网r eo?/i x

8Y&p i'Zt'@&b-N0GATHER_DICTIONARY_STATS51Testing软件测试网1V#NeVi:V

51Testing软件测试网DIN!Z yrZ-d

收集数据字典统计信息(不建议手工收集)

W/]-q-wJEO|_#yg0D051Testing软件测试网U x#c(Y+_2vN/Mw

GATHER_DATABASE_STATS

%uq.}z2l0v"q051Testing软件测试网,y$_-Ha$K W}*Kc

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

_-md1OYz S$G051Testing软件测试网R?t!nL{+o:@

GATHER_FIXED_OBJECTS_STATS

1Sr8q6wo`/n-~/S0

$[,p9s,rxe,D0收集固定表统计信息(不建议手工收集)

x } B%rwaE e051Testing软件测试网t8w-y%v,`1R7`

GATHER_SYSTEM_STATS51Testing软件测试网&XuGx9zZ

51Testing软件测试网Ng*V@f Rv:l&V

收集系统统计信息

Yyu1w*TN0t0

,|L2Z7[;Hl9g`3r051Testing软件测试网z:\6NQ5D+ob3i+[

 51Testing软件测试网$|Q3xh9L4`r k[R

+V+Z[B*a F"\W02、删除统计信息51Testing软件测试网JynKYA

$~V6VX(T6f%AJ~051Testing软件测试网x#YvXG

命令

&C/T\2@!z&f ][0作用51Testing软件测试网\8{%jkU6H)p1pab

51Testing软件测试网"naqs;nf

-J#_kI~~+eg3e0DELETE_INDEX_STATS51Testing软件测试网?dS6s&?

51Testing软件测试网1Zt(nPDC Dv

删除索引统计信息51Testing软件测试网N2c(v-i6sY5QP

51Testing软件测试网+s.p_*a!F*w^

DELETE_TABLE_STATS

T \N%?V~mni051Testing软件测试网R:}1jG"} x.k

删除表、列、索引统计信息51Testing软件测试网Z7F7LOcC x D-mM

9aH7hHo7fxp0DELETE_SCHEMA_STATS51Testing软件测试网 K4{F R8oF3TD7H8WS

*Z mqG$i*k${0删除用户下所有对象的统计信息51Testing软件测试网8}`-|0d IL#x"`2P

2W1\+XD k6tJD}[0DELETE_DICTIONARY_STATS51Testing软件测试网"K$s O8d w"ZmG"U

jnK Ux$V0b F0删除数据字典统计信息(不建议使用)

Br/{ee-F0

0c_2O f ~6iPrCd0DELETE_DATABASE_STATS51Testing软件测试网}l+Qv!Y8Ih2R

A/``!F#?cz t6_0删除数据库中所有对象的统计信息51Testing软件测试网O4kI)~L

t:u\ n,IZ `[`3B+T0DELETE_FIXED_OBJECTS_STATS51Testing软件测试网X0|;lI)Ld w

51Testing软件测试网1F;gtt!H]

收集固定表统计信息(不建议使用)51Testing软件测试网aCw"D)Zv

q^3T1N)b3{0DELETE_SYSTEM_STATS51Testing软件测试网W/Y~OzZMF7M

51Testing软件测试网j R{h4rV:\m

删除系统统计信息

T&W$wFp#|i0

I$`8o$U8iHBH ^:l0DELETE_COLUMN_STATS

3h)MG6v\051Testing软件测试网.n.p2i5z(eI

删除某列统计信息

$JfbW!d2n5Jd-[(d0

L Sp@^2w FC051Testing软件测试网`H\Txm#d3p

 

hv }u#Qif b051Testing软件测试网!PeUFQ[ao

3、锁定和解锁统计信息51Testing软件测试网O3j0|U~;U_

0CdM&|F+]0

4AviK*M]Okl0命令

-YExm z0作用51Testing软件测试网'p:J C D8d%a+~.Y

51Testing软件测试网3{;wC*HV Z&a

~ K B_3@ f0LOCK_TABLE_STATS51Testing软件测试网qg2e:T;}

51Testing软件测试网 gd,Zma D}A

锁定表统计信息

NR9Hf'hx051Testing软件测试网+F'i%O9mR

LOCK_PARTITION_STATS

'oC*hSc;PW;E0

)NM,j3P1`\}0锁定表分区统计信息51Testing软件测试网/l/[#sU(Yo

I)l/j-XA _8M/t0LOCK_SCHEMA_STATS51Testing软件测试网/O ~!e`7zdh._7g

7M7VgM(o0锁定用户下所有对象的统计信息

4`pM @*x-s'M)u051Testing软件测试网 a5X"X$tZ}1oY

UNLOCK_TABLE_STATS

H.NO+I8cZw0

gl R @!TO"y0解锁表统计信息

ri~|g*d%Q0

n1d7E"d)UN9i,UNY0UNLOCK_PARTITION_STATS

{/S/Q9{D MM051Testing软件测试网(`!D:XUvY L

解锁表分区统计信息

)Q)cY,|J*q,Fi0

pt%Gyg!R"Z#O0UNLOCK_SCHEMA_STATS51Testing软件测试网5A6l!RhPi:M

51Testing软件测试网+RN,L*mT"|'vsdC

解锁用户下所有对象的统计信息51Testing软件测试网?jY$TfF

9SQd*{e7Lv1GQ051Testing软件测试网 h8hb5H[ KG e s4]

 51Testing软件测试网eDj"V5Y r2W

51Testing软件测试网{H[ DK+Oc0C&Q

4、查看统计信息51Testing软件测试网"Mp/V:J2A8[

?*pb.]/v051Testing软件测试网g:@;z/T+R"q |

命令51Testing软件测试网'j7R]#C*p-f3C:e

作用51Testing软件测试网M1\#z*X"knA

51Testing软件测试网z @e#DVC|^ ?

Ek{|2wG+n0GET_COLUMN_STATS

-['VHv.od+Rdu051Testing软件测试网ga\g r*p@/e

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

JH_%[+z051Testing软件测试网3x^8v5?bq8z&g&Y8b

GET_INDEX_STATS

P{(v I1Tm0

7P,^k XZ rI+ql;d0查看所有与索引相关的统计信息51Testing软件测试网GT] Eya;mq

*L5@vl;F0GET_TABLE_STATS

$znxVf1?(Hg0

x Y*wd.]~ ag0查看所有与表相关的统计信息

6N#wSD)J p&_:`4k051Testing软件测试网 cQ Stl)z

GET_SYSTEM_STATS

'\:RP8x foOH0

EL/~ y:o d,T^0查看系统级的统计信息51Testing软件测试网eu:O'vR4pc


!jAF\ g051Testing软件测试网O2b&P$H*QLa

51Testing软件测试网eHOH*m!^'{

第2章  统计信息有关视图平时可以通过查询以下视图查看数据库对象的统计信息:

xO0PR5yg0

-E9d.~uF1c4H,r p4T|0 51Testing软件测试网 ]6e&j;c*o} M1a

51Testing软件测试网{k \BZ`,z

1、表统计信息:

U']w.O6tY rB7`0

]8kD4rG:q{k051Testing软件测试网7d;RK;hvP8S2P

视图名称

'Al.N/H_2s0说明51Testing软件测试网3x5L.b RR9a&B{5`

51Testing软件测试网H [hjZ3@#O

DBA_ALL_TABLES / USER_*

,kn/Q j\2U aQ051Testing软件测试网jW(D0a:n:GA

所有表和视图的统计信息

zU'Ri iIl}0

R6L F8IDi!XJ0DBA_TAB_HISTOGRAMS / USER_*51Testing软件测试网Y6I R3kZX'R D$Y

51Testing软件测试网3d0b:rC5rB#x:R5w#h

所有表的直方图统计信息

2bt&RN;L_r7l051Testing软件测试网-i]T-N7L,J:G-e"R

DBA_TAB_MODIFICATIONS / USER_*51Testing软件测试网+d{4S"zx!{'\0W

_!i&xRt0所有表的修改信息(插入、删除、更新)51Testing软件测试网3e5}s"K-}L

51Testing软件测试网Y]dk0S

DBA_TAB_PARTITIONS / USER_*

:c0Ak`-a)~ Pi j0

JYum M+~0所有表分区的统计信息

-I.dw1kbiP051Testing软件测试网#|(E+c y I$K&y

DBA_TAB_STATISTICS / USER_*51Testing软件测试网 d+F0yl7``u\{e

51Testing软件测试网Z5G9kJ}c T4@1^

所有表、表分区、子分区的统计信息51Testing软件测试网1jsU z/f(M!n)M

51Testing软件测试网F~e9E"D3tR9Fb

DBA_TAB_SUBPARTITIONS / USER_*51Testing软件测试网q&W]Uf2{Z2F

51Testing软件测试网Fg]3xmTb

所有表分区的子分区的统计信息51Testing软件测试网`;e8T`v-Q7X

+_ |%x#O[:}0

~1x$L!h \)A sU051Testing软件测试网4j p`jL JY

 51Testing软件测试网 S8N]n._+_/US2ro|

1\;IUQ!x\US-^02、索引统计信息:

mv8J*| dfM)r#H051Testing软件测试网]]-m:]bM_

51Testing软件测试网7F`$i1g|6q Y

视图名称

&q Gp8}fp0说明51Testing软件测试网%es0[CR7X"iM1I

51Testing软件测试网KU%D vhXwG(k"UO

DBA_INDEXES / USER_*51Testing软件测试网#Oh;DjE$R

Z2Z%sC6A"t0所有索引的统计信息

by3k9Y] R&b&U7k8M0

q-r0jL.d8a0DBA_IND_PARTITIONS / USER_*

9P*sXM4|!B'Y{051Testing软件测试网4w%r)FEN

所有分区索引的统计信息51Testing软件测试网4X8}x#@Rz+x

?&fC\$@1RN0DBA_IND_STATISTICS / USER_*

(A.} Z4]J9_d:g%{0

*a/c8z&xR'K+v@{0所有索引、分区索引、子分区索引的统计信息51Testing软件测试网gS#TvE1NcD:@T

c FAbl+G0DBA_IND_SUBPARTITIONS / USER_*

-Rn3f Y-Y N.FM051Testing软件测试网'x \`8|V,K

所有子分区索引的统计信息51Testing软件测试网 N_`&KR

%gANXvt2e!M*\ B$p0

d[~,R.QrYB0

~]!vRk6pWr0 

"A A!O e t2JK5^1Zyl051Testing软件测试网ii P7IC e/Z

 51Testing软件测试网kvN(CR

au-o VZ qV$L;p Q0第3章  手动收集统计信息对于表的数据进行大规模导入或删除操作之后,要对表进行手工统计信息收集,防止统计信息变得陈旧,命令如下:

?`N9v0G*?-ck051Testing软件测试网9vm&N0dmp

BEGIN51Testing软件测试网.]$^ _+n|$g3P9G

51Testing软件测试网]}+RH&Q;U2b&fY|g

dbms_stats.gather_table_stats(51Testing软件测试网&x-LwS7_1~

9KQAt7\Q,@h/f0ownname => 'username',

kI*puD051Testing软件测试网5R)Qr ^%gx

tabname => 'tablename');51Testing软件测试网 q+rOU&wg

51Testing软件测试网&}}l(Tm'n*O%d

END;

o2Nx&a"Va@!`051Testing软件测试网.iE6n/I([w

/51Testing软件测试网*Eu.h9m&N4SJ$?&i

51Testing软件测试网2DE1FrH@

6f?(A'M,_ N&Ek0 51Testing软件测试网5P/d{$p?m


TAG:

 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

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

RSS订阅

Open Toolbar