3,491
社区成员
发帖
与我相关
我的任务
分享
--创建表
create table test1(id number, varchar2(10));
insert into test1 values(1,'索引测试1');
commit;
--创建索引
create index ix_id on test1(id);
create index ix_id_name on test1(id, name);
drop index ix_id_name;
drop index ix_id;
--查看解释计划
select * from test1 where id = 1; --where条件中只有id列
--1.当ix_id、ix_id_name都存在时,使用的是:ix_id_name。 解释计划如下:
SELECT STATEMENT, GOAL = ALL_ROWS 1 1 25
INDEX RANGE SCAN MYTEST IX_ID_AND_NAME 1 1 25
--2.当只有ix_id存在时,使用的是:ix_id 解释计划如下:
SELECT STATEMENT, GOAL = ALL_ROWS 2 1 25
TABLE ACCESS BY INDEX ROWID CMS0322_EN TEST1 2 1 25
INDEX RANGE SCAN MYTEST IX_ID 1 1