Oracle analyze table的使用总结

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;   

 

sample:

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> analyze table my_table delete statistics;

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


摘自:http://www.cnblogs.com/einyboy/archive/2012/08/09/2630321.html

`ANALYZE TABLE`是一个用于优化数据库性能的SQL语句,主要用于收集表的统计信息,如行数、列分布等,以便于数据库管理系统(DBMS)动态调整索引策略和查询计划。在Oracle、PostgreSQL、MySQL(部分版本)等支持此功能的数据库中,它的基本用法包括以下几个步骤: 1. **语法基础**: ```sql ANALYZE [FULL] [BUFFERS] [NOBUFFERS] [UPDATE STATISTICS] [SAMPLE_SIZE sample_size_value] TABLE_NAME; ``` 这里各选项含义: - `FULL`:进行全面分析,包括重建索引统计数据。 - `BUFFERS` 或 `NOBUFFERS`:控制是否跟踪缓冲区活动。 - `UPDATE STATISTICS`:更新现有统计信息。 - `SAMPLE_SIZE`:指定样本大小,只对部分数据进行分析。 2. **目的**: - 收集表的最新统计信息,以改善查询优化器的选择。 - 当数据发生变化(例如插入、删除或修改大量数据)后,手动触发分析。 3. **何时使用**: - 新增大量数据后,或者发现查询性能下降时。 - 如果怀疑索引选择不当或查询计划不佳。 4. **注意事项**: - 不要频繁运行全量分析,因为这可能会消耗大量的系统资源。 - 样本分析可以在大规模表上减少开销,但可能牺牲精度。 5. **示例**: ```sql ANALYZE TABLE employees UPDATE STATISTICS; -- 更新employees表的统计信息 ``` 记得查阅你所使用的数据库系统的官方文档,因为不同的数据库可能有不同的语法细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值