快捷搜索:  汽车  科技

oracle数据统计查询(oracle基于表的统计信息)

oracle数据统计查询(oracle基于表的统计信息)修改后就可以测试一下速度的改进啦。建议定期运行上面的语句,尤其是数据经过大量更新。当然,也可以通过dbms_stats来分析表和索引。后面会分享更多DBA方面的内容,感兴趣的朋友可以关注下!!

概述

analyze table 一般可以指定分析: 表,所有字段,所有索引字段,所有索引。 若不指定则全部都分析。

sql> analyze table my_table compute statistics; SQL> analyze table my_table compute statistics for table for all indexes for all columns; SQL> analyze table my_table compute statistics for table for all indexes for all indexed columns;

其中:

SQL> analyze table my_table compute statistics; 等价于: SQL> analyze table my_table compute statistics for table for all indexes for all columns;

通过在analyze table命令中指定了for table或者不指定任何参数的时候 oracle数据库会给我们统计基于表的统计信息,如果我们想让CBO利用合理利用数据的统计信息的时候就可以用这个方式了。

生成分析某个用户的所有表

set pagesize 0 spool /home/oracle/analyze_tables.sql; select 'analyze table '||owner||'.'||table_name||' compute statistics;' from dba_tables where owner='XXXXX'; spool off

oracle数据统计查询(oracle基于表的统计信息)(1)

生成分析某个用户的所有索引

spool /home/oracle/analyze_indexes.sql; select 'analyze index '||owner||'.'||index_name||' compute statistics;' from dba_indexes where owner='XXXX'; spool off @/home/oracle/analyze_tables.sql @/home/oracle/analyze_indexes.sql

oracle数据统计查询(oracle基于表的统计信息)(2)

oracle数据统计查询(oracle基于表的统计信息)(3)


oracle数据统计查询(oracle基于表的统计信息)(4)

上面的语句生成了两个sql文件,分别分析NWPP用户全部的表和索引。如果需要按照百分比来分析表,可以修改一下脚本。通过上面的步骤,我们就完成了对表和索引的分析,

修改后就可以测试一下速度的改进啦。建议定期运行上面的语句,尤其是数据经过大量更新。当然,也可以通过dbms_stats来分析表和索引。

后面会分享更多DBA方面的内容,感兴趣的朋友可以关注下!!

oracle数据统计查询(oracle基于表的统计信息)(5)

猜您喜欢: