
Document:1380043.1 Selected Performance Related Seminars from Oracle Openworld
解决方案
• 收集对象的统计信息
• 使用足够大的sample size
• 收集字段的统计信息/数据非均匀分布列的histogram
• 收集分区对象的Global Statistics(全局统计信息)
• 收集System Statistics(系统统计信息)
• 收集数据字典以及 'Fixed' 对象的统计信息
Sample Statistic Gathering Commands section. 关于更多管理统计信息的内容,请参考:
Oracle Database Online Documentation 12c Release 1 (12.1) / Database Administration
Database SQL Tuning Guide
Chapter 12 Managing Optimizer Statistics: Basic Topics
http://docs.oracle.com/database/121/TGSQL/tgsql_stats.htm#TGSQL389
为快速删除和重建某张表及它的索引的统计信息(包含非均匀分布列的统计信息),推荐如下:
exec dbms_stats.delete_table_stats(ownname=>'user_name',-
tabname=>'table_name',cascade_indexes=>true);
exec dbms_stats.gather_table_stats(ownname=>'user_name',-
tabname=>'table_name',-
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,-
cascade=>true,-
method_opt=>'for all columns size AUTO');
随后我们会解释这样推荐的原因。同样,后边会有更多收集统计信息的例子。
gR2 开始,下边的方法可以用来恢复统计信息:
Document 452011.1 * Restoring table statistics in 10G onwards
optimizer统计信息的重要文档
• 这些推荐适用于大多数的数据库。
• 这些推荐的目的是为了尽可能生成准确的统计信息,为此我们推荐使用的sample size(采样率)为100%。这是因为
sample size的减少可能会导致生成的统计信息不准确。一般来说使用100%的sample size会使收集信息的时间增
长,所以需要考虑调整当前使用的maintenance window,使统计信息的收集能在一个maintenance window完成。
• 如果可能,我们推荐使用预设好的偏好设置使收集不同对象的过程标准化。不同于对不同的对象使用不同的设置,在
Database/Schema/Table 一级设置默认偏好能使设置集中化,且不需要对不同对象单独设置。自动统计信息收集操
作也会使用设置好的默认偏好。关于如何设置默认偏好请详见:
文档 1523938.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_a...
第2页 共7页 2025/2/28 10:23
评论