我们在重建索引时,为了不影响 系统性能,往往:
alter index index_name rebuild online;
但是我们为什么不:alter index index_name rebuild
下面简单操作示范:
SQL> create table ttt as select * from dba_objects;
表已创建。
SQL> select count(*) from dba_objects; COUNT(*) ---------- 72746 SQL> create index index_id on TTT(OBJECT_ID);
索引已创建。
SQL> set autotrace traceonly;
SQL> SELECT * FROM TTT;
已选择72746行。
执行计划
---------------------------------------------------------- Plan hash value: 774701505 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 51569 | 10M| 283 (1)| 00:00:04 | | 1 | TABLE ACCESS FULL| TTT | 51569 | 10M| 283 (1)| 00:00:04 | -------------------------------------------------------------------------- Note ----- - dynamic sampling used for this statement (level=2)
统计信息
---------------------------------------------------------- 308 recursive calls 0 db block gets 5909 consistent gets 1035 physical reads 0 redo size 8067725 bytes sent via SQL*Net to client 53755 bytes received via SQL*Net from client 4851 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 72746 rows processed SQL> alter index index_id rebuild;
SQL> SELECT * FROM TTT;
已选择72746行。
执行计划
---------------------------------------------------------- Plan hash value: 774701505 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 51569 | 10M| 283 (1)| 00:00:04 | | 1 | TABLE ACCESS FULL| TTT | 51569 | 10M| 283 (1)| 00:00:04 | -------------------------------------------------------------------------- Note ----- - dynamic sampling used for this statement (level=2)
统计信息
---------------------------------------------------------- 36 recursive calls 0 db block gets 5886 consistent gets 0 physical reads 0 redo size 8067725 bytes sent via SQL*Net to client 53755 bytes received via SQL*Net from client 4851 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 72746 rows processed SQL> alter index index_id rebuild online;
索引已更改。
SQL> SELECT * FROM TTT;
已选择72746行。
执行计划
---------------------------------------------------------- Plan hash value: 774701505 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ------------------------------------------