- 论坛徽章:
- 0
|
解析6-2 sorts (rows) 511,574 606.9 6.8 summed dirty queue length 430 0.5 0.0 switch current to new buffer 59,534 70.6 0.8 table fetch by rowid 2,094,274 2,484.3 27.7 这是通过索引或者where rowid=语句来取得的行数,当然这个值越大越好。 table fetch continued row 408 0.5 0.0 这是发生行迁移的行。当行迁移的情况比较严重时,需要对这部分进行优化。 检查行迁移的方法: 运行$ORACLE_HOME/rdbms/admin/utlchain.sql analyze table table_name list chained rows into CHAINED_ROWS select * from CHAINED_ROWS where table_name='table_name'; 清除的方法: 方法1:create table table_name_tmp as select * from table_name where rowed in (select head_rowid from chained_rows); Delete from table_name where rowed in (select head_rowid from chained_rows); Insert into table_name select * from table_name_tmp; 方法2:create table table_name_tmp select * from table_name ; truncate table table_name insert into table_name select * from table_name_tmp 方法3:用exp工具导出表,然后删除这个表,最后用imp工具导入这表 方法4:alter table table_name move tablespace tablespace_name,然后再重新表的索引 上面的4种方法可以用以消除已经存在的行迁移现象,但是行迁移的产生很多情况下时由于PCT_FREE参数设置的太小所导致,所以需要调整PCT_FREE参数的值。 table scan blocks gotten 299,249 355.0 4.0 table scan rows gotten 1,912,851 2,269.1 25.3 table scans (long tables) 0 0.0 0.0
|
|