B-TREE索引,btree
郑重声明:由于本人水平有限,如有不对的地方请大神指正不甚感激(327568824@qq.com)
三种索引的区别http://blog.csdn.net/bzfys/article/details/45824549
创建表T1
SQL> createtable t1(id int primary key,name varchar2(10));
Table created.
创建表T2
SQL> createtable t2(id int primary key,name varchar2(10));
Table created.
创建表T3
SQL> create table t3(id int ,namevarchar2(10));
Table created.
创建表T4
SQL>create table t4 as select mod(object_id,2)object_Id,object_name from dba_objects;
Table created.
给T5添加索引
SQL> create indext4_ind on t4(object_id);
Index created.
SQL> select count(*)from t4;
COUNT(*)
----------
71744
给T1添加表内容
SQL> begin
for i in 1..10000 loop
insert into t1 values(i,'T1');
end loop;
end;
/
SQL> commit ;
给T2添加表内容
SQL> begin
for i in 1..1000000 loop
insert into t2 values(i,'T2');
end loop;
end;
/
给T3添加表内容
SQL> begin
2 for i in 1..10000 loop
3 insert into t3 values(i,'T1');
4 end loop;
5 end;
6 /
PL/SQL proceduresuccessfully completed.
给T4添加表内容
SQL> insert into t4 select object_id from dba_objects;
71743 rows created.
SQL> commit ;
开启
SQL>set autotrace trace exp stat;
SQL>set linesize 150;
分别查从T1,T2,T3中查找id=100的行
SQL>select * from t1 where id=100;
Execution Plan
----------------------------------------------------------
Plan hash value: 1523267052
--------------------------------------------------------------------------------------------
| Id | Operation |Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------
| 0| SELECT STATEMENT

