create table t1 (t1_key number, t1_value varchar2(10)); insert into t1 values(1, '1'); insert into t1 values(2, '2'); insert into t1 values(3, '3'); insert into t1 values(4, '4'); insert into t1 values(5, '5'); insert into t1 values(6, '6'); insert into t1 values(7, '7'); insert into t1 values(8, '8'); insert into t1 values(9, '9');
explain plan for [query goes here]; select * from table(dbms_xplan.display(null,null,'basic'));
drop index index_name;
select t1_key, t1_value from t1 where t1_key = 5; ---------------------------------- | Id | Operation | Name | ---------------------------------- | 0 | SELECT STATEMENT | | | 1 | TABLE ACCESS FULL| T1 | ---------------------------------- create index key_index on t1 (t1_key); select t1_key, t1_value from t1 where t1_value = '5'; ---------------------------------- | Id | Operation | Name | ---------------------------------- | 0 | SELECT STATEMENT | | | 1 | TABLE ACCESS FULL| T1 | ----------------------------------
select * from t1 where t1_key = 3; ------------------------------------------------- | Id | Operation | Name | ------------------------------------------------- | 0 | SELECT STATEMENT | | | 1 | TABLE ACCESS BY INDEX ROWID| T1 | | 2 | INDEX RANGE SCAN | KEY_INDEX | -------------------------------------------------
create unique index u_key_index on t1 (t1_key); --------------------------------------------------- | Id | Operation | Name | --------------------------------------------------- | 0 | SELECT STATEMENT | | | 1 | TABLE ACCESS BY INDEX ROWID| T1 | | 2 | INDEX UNIQUE SCAN | U_KEY_INDEX | ---------------------------------------------------
create table t2 as (select * from all_objects); -- data_object_id , object_id create index test_index on t2 (data_object_id, object_id); -- begin dbms_stats.gather_table_stats(user, 'T2', cascade=>true); end; -- select * from t2 where object_id=370; -- object_id -------------------------------------------------- | Id | Operation | Name | -------------------------------------------------- | 0 | SELECT STATEMENT | | | 1 | TABLE ACCESS BY INDEX ROWID| T2 | | 2 | INDEX SKIP SCAN | TEST_INDEX | --------------------------------------------------
Source: https://habr.com/ru/post/189574/
All Articles