5. IO优化
v$session_longops 视图,查看全表扫描的长会话
预读参数: 一次读写,读取多少个连续的block
show paramedb_file_multiblock_read_count; 最大值128 ,默认应该为16
实际测试方法使用utistat.sql 和
检查点调优:
1. LOG_CHECKPOINT_INTERVAL 到了多少个脏block触发检查点
2. fast_start_io_targer 影响例程恢复的block.
归档:
LOG_ARCHIVE_MAX_PROCESSES 归档程序进程个数
6. 优化排序 les07
排序在PGA中
SORT_AREA_SIZE 私有的,一个session对应一个排序区,总数为session数*size,如果太大就会造成占用大量的PGA(PGA默认小于全部内存的50%);
这个变量应该在会话过程中来设置,在程序执行前执行类似的语句.
SORT_AREA_RETAINED_SIZE 排序保留区
PGA总量设置: PGA_AGGREGATE_TARGET (10M 4000G)
是自动管理还是手动管理: WORKAREA_SIZE_POLLY
6. 块设备 les13
extent 分配
本地管理表空间(适合用在插入删除非常频繁的应用,避免系统表空间的征用; 在文件头上记录了表空间的剩余空间情况),数据字典管理的表空间.
10G以后对于多个临时表空间建立一个表空间组,在建立用户的时候设置这个表空间组作为默认临时表空间以提高效率
磁盘排序/内存排序的比例经验值 <5% ,如果不足,则增加PGA的大小
7. 回退段 Rollback段
select usn,writes from v$roolstat; 实例启动后回退数据
执行一个语句后再查看这个视图,比较实际使用的回退段空间
8. 应用调整les12
9. SQL语句调整 les14
基于规则的执行计划
基于代价的执行计划 (根据统计更新信息来评估代价)
查看SQL执行计划.
set autotrace on ;
set autotrace off;
强制使用索引.
select /*+INDEX(..)*/
select class,countfrom v$waitstat where class like '%undo%'
经验值,这个值要求<1%
delete回退段的开销最大,而insert语句只有rowid存放在里面,update只有被更改的列在回退段里面,delete为全部记录
位图索引,对于重复性较高的索引采用位图索引.
create bitmap index ix_temp on temp(…);
逆序索引:
对于联机处理系统,避免影响索引热点出现.