Oracle分析表和索引(analyze)

分析表

analyze table tablename compute statistics;

分析索引

analyze index indexname compute statistics;

该语句生成的统计信息会更新user_tables这个视图的统计信息,分析的结果被Oracle用于基于成本的优化生成更好的查询计划

对于使用CBO(Cost-Base Optimization)很有好处,可以使用更可靠的table信息,从而执行计划也可以更准确一些,在10g会自动analyze,之前的版本需要手动定期

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

sql 复制代码
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;

sample:

sql 复制代码
analyze table t1 compute statistics for table;
analyze table t2 compute statistics for all columns;
analyze table t3 compute statistics for all indexed columns;

analyze table t5 compute statistics for all indexes; 

analyze table t4 compute statistics;     (不指定)

另外,可以删除分析数据:

sql 复制代码
SQL> analyze table my_table delete statistics;

SQL> analyze table my_table delete statistics for table for all indexes for all indexed columns;
相关推荐
夜泉_ly9 分钟前
Redis -持久化
数据库·redis·缓存
2401_837088501 小时前
什么是NoSQL?
数据库·nosql
web安全工具库2 小时前
从课堂笔记到实践:深入理解Linux C函数库的奥秘
java·数据库·算法
@PHARAOH3 小时前
WHAT - SQLite 数据库
数据库·oracle·sqlite
四维碎片3 小时前
【Qt】乌班图安装Qt环境
开发语言·数据库·qt
wuyunhang1234563 小时前
MySQL----触发器
数据库·mysql
ptc学习者3 小时前
OGG 安装注意事项
java·开发语言·数据库
鸽鸽程序猿4 小时前
【MySQL】索引
数据库·mysql
zym大哥大4 小时前
Redis-Zest
数据库·redis·缓存
zl9798994 小时前
Redis-stream、bitfield类型
数据库·redis·缓存