Oracle 查看收集统计信息
来源:互联网 发布:新疆的网络管制 编辑:程序博客网 时间:2024/05/16 17:33
-- Start
统计信息相当于情报,对 Oracle 至关重要,如果统计信息不准确,Oracle 就会做出错误的判断。那如何查看统计信息呢?试一试下面的 SQL 吧。
-- 查看表统计信息select * from DBA_TABLES where OWNER = 'HR' and TABLE_NAME = 'TEST';select * from DBA_TAB_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';-- 查看列统计信息select * from DBA_TAB_COL_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';-- 查看索引统计信息select * from DBA_IND_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';
通常,Oracle 会在每天固定时间段自动维护统计信息。但是对于某些表,这是远远不够的,如:某些表每天都需要清空,然后重新导入。这个时候,我们需要手动收集统计信息。
-- 方法1: 使用 DBMS_STATS.GATHER_TABLE_STATS 手动收集存储过程DBMS_STATS.GATHER_TABLE_STATS('HR', 'ORDERS');-- 方法2:删除并锁定统计信息,如果没有统计信息,Oracle 会动态收集统计信息BEGINDBMS_STATS.DELETE_TABLE_STATS('HR','ORDERS');DBMS_STATS.LOCK_TABLE_STATS('HR','ORDERS');END;
Oracle 推荐我们使用方法1。 除此之外,DBMS_STATS 包还提供了下面的存储过程用来收集统计信息。
GATHER_INDEX_STATS 收集索引统计信息GATHER_TABLE_STATS 收集指定表,列,索引的统计信息GATHER_SCHEMA_STATS 收集指定模式下所有对象的统计信息GATHER_SYSTEM_STATS 收集系统统(I/O,CUP)计信息GATHER_DICTIONARY_STATS 收集 SYS, SYSTEM 模式下对象的统计信息GATHER_DATABASE_STATS 收集所有数据库对象的统计信息GATHER_FIXED_OBJECTS_STATS 收集 FIXED 对象的统计信息
DBMS_STATS 包还提供许多子程序让我们可以对统计信息进行操作,如:查询,删除,锁定,恢复等,更多详情你可以参考 PL/SQL Packages and Types 手册。
-- 更多参见:Oracle SQL 优化精萃
-- 声明:转载请注明出处
-- Last edited on 2015-08-28
-- Created by ShangBo on 2015-07-29
-- End
0 0
- Oracle 查看收集统计信息
- oracle统计信息收集
- oracle统计信息收集
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- Oracle 收集统计信息
- ORACLE 收集统计信息
- 收集oracle统计信息
- ORACLE 收集统计信息
- ORACLE收集统计信息
- 收集oracle统计信息
- 收集oracle统计信息
- Java Timer 定时器的使用
- MySQL Study之--MySQL优化分析工具explain
- iOS开发多线程篇—NSOperation基本操作
- Volley 自定义上传图片提交数据
- SQL中distinct
- Oracle 查看收集统计信息
- 杭电 1232 畅通工程 并查集
- n后问题
- JAVA自学路线图
- A Pattern is a solution to a problem in a context
- spring+springmvc+hibernate完整示例
- mac homebrew的安装、使用、FAQ
- 反射再认识
- hadoop