用alter index XXX rebuild 这样最快了,不会改变原来的索引结构。

3@URL>

http://www.2cto.com/database/201106/94162.html

Oracle分析表简介

Oracle分析表是Oracle数据库管理的重要部分,下面就为您详细介绍Oracle分析表方面的知识,希望对您学习Oracle分析表方

面能有所帮助。

1、分析SQL:

analyze table tablename compute statistics

等同于 analyze table tablename compute statistics for table for all indexes for all columns

for table的统计信息存在于视图:user_tables 、all_tables、dba_tables

for all indexes的统计信息存在于视图: user_indexes 、all_indexes、dba_indexes

for all columns的统计信息存在于试图:user_tab_columns、all_tab_columns、dba_tab_columns

删除分析SQL:

analyze table tablename delete statistics 会删除所有的statistics

2、Oracle分析表的作用:为了使基于CBO的执行计划更加准确

DBA_tables的数据有变化,可做对比。详见官方文档:

Use the ANALYZE statement to collect non-optimizer statistics, for example, to:

Collect or delete statistics about an index or index partition, table or table partition, index-organized

table, cluster, or scalar object attribute.

Validate the structure of an index or index partition, table or table partition, index-organized table,

cluster, or object reference (REF)。

Identify migrated and chained rows of a table or cluster.

dbms_stats的作用主要是替代analyze的收集统计信息这一块的功能,且在这一方面做了相当大程度上的增强。

以analyze table table_name compute statistics;这条为例,生成的统计信息会存在于user_tables这个视图,查看一下

select * from user_tables where table_name=table_name;

观察一下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN几列你就会明白,这就是变化。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐