analyze table tablename compute statistics;
analyze index indexname compute statistics;
对于使用CBO很有好处,可以使用更可靠的table信息,从而执行计划也可以更准确一些,在10g会自动analyze,之前的版本需要手动定期
生成统计信息,,选择合理的执行计划..
Oracle的online document这样描述analyze的作用:
Use the ANALYZE statement to collect non-optimizer statistics, for example, to:
1、Collect or delete statistics about an index or index partition, table or table partition, index-organized table, cluster, or scalar object attribute.
2、Validate the structure of an index or index partition, table or table partition, index-organized table, cluster, or object reference (REF).
3、Identify migrated and chained rows of a table or cluster.
对于收集统计信息这块,我一般使用dbms_stats这个package,收集统计信息的做用使CBO方式的优化选择执行计划更准确。
统计信息最好定期收集,以业务的不同确定不同的收集周期。
Oracle统计信息收集
本文介绍Oracle数据库中如何使用analyzetable及analyzeindex命令来收集表和索引的统计信息,这对于成本基于规则的优化器(CBO)至关重要。通过定期收集统计信息可以确保执行计划更加准确。文中还提到了使用dbms_stats包来进行统计信息收集的方法。
3253

被折叠的 条评论
为什么被折叠?



