我试验在char 或 varchar2 列上建索引,
create table tmp
(id number,
name1 varchar2(2000),
name2 char(2000),
name3 char(2000))
然后插入10000行数据,
then
create index index_tmp1 on tmp(name1);
create index index_tmp2 on tmp(name2);
set autotrace traceonly;
select * from tmp where name1 like '%dfd%';
结果不使用索引,
select * from tmp where name1 like 'dfd%';
结果不使用索引,
select * from tmp where name2 like '%dfd%';
结果不使用索引,
select * from tmp where name2 like 'dfd%';
结果使用索引,
问题:为什么在varchar2上总是不使用索引呢? |