不胜人生一场醉

欢迎来到不胜人生一场醉>>   | 首页 资源中心 | 软件开发 | 软件工程 | 艺术长廊 | 数据仓库专区 | 你的故事我的歌 | 数据库专区 | ITPUB论坛

Oracle学习系列—数据库优化—Analyze语句和数据字典

发表人:PercyWang | 发表时间: 2007年四月16日, 10:18

执行Analyze语句后,系统会把表索引统计记入相应数据字典表,CBO依据这些统计进行执行计划分析.

下面是几个简单的例子,黄颜色部分是执行分析后,数据字典发生的变化


CREATE TABLE MainTable AS
SELECT * FROM ALL_ALL_TABLES;

CREATE TABLE Owner AS
SELECT DISTINCT Owner FROM MainTable;

CREATE INDEX MainTable_Owner ON MainTable (Owner);
CREATE INDEX Owner_Owner ON Owner (Owner);

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'

发表评论

标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)


authimage



Valid XHTML 1.0 Strict and CSS. Powered by pLog
Design by Blog.lvwo.com