只看统计信息
SQL>set autotrace statistics
重点看
consistent gets:内存消耗
physical reads:磁盘I/O消耗
单位是:SQL> show parameter DB_BLOCK_SIZE; 块大小
分析表
SQL> analyze table emp compute statistics;
select * from dba_tables t where t.TABLE_NAME = 'EMP';
analyze table收集关于表的统计,结果在dba_tables里面。
analyze index收集关于索引的统计,结果在dba_indexes里面。
复合索引的:前缀性 和 可选性
create index idx_1 on emp(ename,job,mgr); -- 默认按照ename做前缀,所以查询时只要有ename字段的语句都会用到索引
可选性:按照可选性最多的排在最前面,例如 (区,市,省)建立复合索引
索引监控
SQL>alter index idx_1 monitoring usage;
开始监控idx_1
在此期间有使用到idx_1的就会在视图中出现记录
select * from v$object_usage t;
SQL> alter index idx_1 nomonitoring usage; -- 关闭监控
索引碎片整理
SQL> analyze index idx_1 validate structure online;
SQL> select name,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100 from index_stats;
索引碎片率:(del_lf_rows_len/lf_rows_len)*100 > 20%则很严重,需要重建索引或者压缩索引
alter index idx_1 rebuild;
alter index inx_1 coalesce;
最近执行的SQL语句
select * from sys.v_$sqlarea t
select * from sys.v_$sql t
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12961536/viewspace-769509/
,如需转载,请注明出处,否则将追究法律责任。