在 oracle 的 analyse 說明中清楚的說明, 於 8i 後建議不要用 analyse command 了, 而建議使用 dbms_stat. 以下是摘錄部份的說明.
Do not use the COMPUTE
and ESTIMATE
clauses of ANALYZE
to collect optimizer statistics. These clauses are supported for backward compatibility. Instead, use the DBMS_STATS
package, which lets you collect statistics in parallel, collect global statistics for partitioned objects, and fine tune your statistics collection in other ways. The cost-based optimizer, which depends upon statistics, will eventually use only statistics that have been collected by DBMS_STATS
. See PL/SQL Packages and Types Reference for more information on the DBMS_STATS
package.
You must use the ANALYZE
statement (rather than DBMS_STATS
) for statistics collection not related to the cost-based optimizer, such as:
-
To use the
VALIDATE
orLIST
CHAINED
ROWS
clauses -
To collect information on freelist blocks