| « | 六月 2008 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | ||||||
执行Analyze语句后,系统会把表索引统计记入相应数据字典表,CBO依据这些统计进行执行计划分析.
下面是几个简单的例子,黄颜色部分是执行分析后,数据字典发生的变化
|
CREATE TABLE |
|
ANALYZE TABLE MainTable
Compute STATISTICS; SELECT * FROM USER_ALL_TABLES WHERE
TABLE_NAME='MAINTABLE'; |
|
ANALYZE TABLE MainTable
COMPUTE STATISTICS SELECT * FROM
USER_TAB_COLUMNS WHERE
TABLE_NAME='MAINTABLE' AND COLUMN_NAME='OWNER' select * from
user_tab_col_statistics(view base user_tab_columns) |
|
ANALYZE INDEX MainTable_Owner
COMPUTE STATISTICS SELECT * FROM USER_INDEXES WHERE
INDEX_NAME='MAINTABLE_OWNER' |
|
REM Create Chained_Rows Table SQL> @C:/UserDefine/oracle/ora92/rdbms/admin/UTLCHAIN.SQL ANALYZE TABLE MAINTABLE
LIST CHAINED ROWS INTO Chained_Rows; SELECT * FROM Chained_Rows |
|
SQL> EXECUTE
DBMS_STATS.GATHER_TABLE_STATS ('wbq','maintable', METHOD_OPT => 'FOR
COLUMNS SIZE 10 tablespace_name'); SELECT * FROM
USER_TAB_HISTOGRAMS where column_name='TABLE_NAME' |