2020年11月5日 星期四

Oracle 執行計畫

 Oracle 執行計畫

在 Oracle 8i 有 ANALYSIZE
在 Oracle 9i 有DBMS_STATS Package

原文章出處
https://submarinechen.pixnet.net/blog/post/52798634

另外參考

https://www.cnblogs.com/Zeros/p/7026183.html

備份

結論:


1.  對於Partition table,建議使用DBMS-STATS,而不是使用Analyze語句。

a)  可以parallel進行,對多個Owner,多個Table。

b)  可以得到Multi Partition的資料和Single Partition分區的資料。

c)  可以在不同級別上Compute Statistics:單個分區,子分區,全表,所有分區。

d)  可以export統計資訊。

e)  可以用戶自動收集統計資訊。



2.  DBMS_STATS的缺點:

a)  不能Validate Structure。

b)  不能收集CHAINED ROWS, 不能收集CLUSTER TABLE的資訊,這兩個仍舊需要使用Analyze語句。

c)  DBMS_STATS 預設不對索引進行Analyze,因為預設Cascade是False,需要手動指定為True。



3.  對於oracle 9裏面的External Table(包括data dictionary tables、external table、temporary table),Analyze不能使用,只能使用DBMS_STATS來收集資訊。