SQL> @testcase2 SQL> CREATE SEQUENCE SEQ 2 / Sequence created. SQL> SQL> DROP TABLE TESTFORIND 2 / Table dropped.
SQL> SQL> CREATE TABLE TESTFORIND(ID NUMBER,VALUE VARCHAR2(20)); Table created. SQL> SQL> BEGIN FOR X IN 1..100000 LOOP INSERT INTO TESTFORIND VALUES(X,CHR(X)'XXX'); END LOOP; END; 2 / PL/SQL procedure sUCcessfully completed. SQL> SQL> CREATE INDEX IDX_T ON TESTFORIND(ID) 2 / Index created. SQL> SQL> ANALYZE INDEX IDX_T VALIDATE STRUCTURE 2 / Index analyzed. SQL> SQL> select height,blocks,name,LF_ROWS,LF_BLKS,DEL_LF_ROWS,USED_SPACE,BLKS_GETS_PER_Access from index_stats 2 / HEIGHT BLOCKS NAME LF_ROWS LF_BLKS DEL_LF_ROWS USED_SPACE BLKS_GETS_PER_ACCESS ---------- ---------- -------------------- ---------- ---------- ----------- ---------- -------------------- 2 292 IDX_T 100000 222 0 1591522 3 1 row selected. SQL> SQL> begin for x in 1..100000 loop update testforind set id=id+seq.nextval where id=x; end loop; end; 2 / PL/SQL procedure successfully completed. SQL> SQL> commit; Commit complete. SQL> SQL> ANALYZE INDEX IDX_T VALIDATE STRUCTURE 2 / Index analyzed. SQL> SQL> select height,blocks,name,LF_ROWS,LF_BLKS,DEL_LF_ROWS,USED_SPACE,BLKS_GETS_PER_ACCESS from index_stats 2 / HEIGHT BLOCKS NAME LF_ROWS LF_BLKS DEL_LF_ROWS USED_SPACE BLKS_GETS_PER_ACCESS ---------- ---------- -------------------- ---------- ---------- ----------- ---------- -------------------- 2 957 IDX_T 261803 643 161803 4177504 3.1545075 1 row selected. SQL> SQL> analyze table testforind compute statistics; analy Table analyzed. SQL> ze index idx_t compute statistics; Index analyzed. SQL> col segment_name format a40 SQL> l 1* SELECT SEGMENT_NAME,BYTES,BLOCKS FROM USER_SEGMENTS WHERE SEGMENT_NAME IN ('TESTFORIND','IDX_T') SQL> / SEGMENT_NAME BYTES BLOCKS ---------------------------------------- ---------- ---------- TESTFORIND 2392064 292 IDX_T 7839744 957 2 rows selected SQL> conn scott/tiger Connected. SQL> @testcase1 SQL> DROP TABLE TESTFORIND 2 / Table dropped. SQL> SQL> CREATE TABLE TESTFORIND(ID NUMBER,VALUE VARCHAR2(20));
Table created. SQL> SQL> BEGIN FOR X IN 1..100000 LOOP INSERT INTO TESTFORIND VALUES(X,CHR(X)'XXX'); END LOOP; END; 2 / PL/SQL procedure successfully completed. SQL> SQL> CREATE INDEX IDX_T ON TESTFORIND(ID) 2 / Index created. SQL> SQL> ANALYZE INDEX IDX_T VALIDATE STRUCTURE 2 / Index analyzed. SQL> SQL> select height,blocks,name,LF_ROWS,LF_BLKS,DEL_LF_ROWS,USED_SPACE,BLKS_GETS_PER_ACCESS from index_stats 2 / HEIGHT BLOCKS NAME LF_ROWS LF_BLKS DEL_LF_ROWS USED_SPACE BLKS_GETS_PER_ACCESS ---------- ---------- -------------------- ---------- ---------- ----------- ---------- -------------------- 2 256 IDX_T 100000 222 0 1591522 3 1 row selected. SQL> SQL> BEGIN FOR X IN 1..100000 LOOP IF MOD(X,3)=0 THEN UPDATE TESTFORIND SET ID=ID+100000 WHERE ID=X ;END IF; END LOOP; END; 2 / PL/SQL procedure successfully completed. SQL> SQL> COMMIT; Commit complete. SQL> SQL> ANALYZE INDEX IDX_T VALIDATE STRUCTURE 2 / Index analyzed. SQL> SQL> select height,blocks,name,LF_ROWS,LF_BLKS,DEL_LF_ROWS,USED_SPACE,BLKS_GETS_PER_ACCESS from index_stats 2 / HEIGHT BLOCKS NAME LF_ROWS LF_BLKS DEL_LF_ROWS USED_SPACE BLKS_GETS_PER_ACCESS ---------- ---------- -------------------- ---------- ---------- ----------- ---------- -------------------- 2 512 IDX_T 133333 429 33333 2126982 3.14516176 1 row selected.
|