请问:如果一张表有10个字段,分别是col1,col2....col10.
建立索引 index1包括列:col1,col2,col3
那么,我查询的语句的where条件里有col2='XX',请问是否会用到索引index1
如果where条件是col2='XX' and col4='XXX',能用到索引index1吗?谢谢!
建立索引 index1包括列:col1,col2,col3
那么,我查询的语句的where条件里有col2='XX',请问是否会用到索引index1
如果where条件是col2='XX' and col4='XXX',能用到索引index1吗?谢谢!
SQL> CREATE INDEX test_idx ON test(a,b,c)2 /索引已创建。SQL> ANALYZE TABLE test COMPUTE STATISTICS2 FOR TABLE3 FOR ALL INDEXES4 FOR ALL INDEXED COLUMNS5 /表已分析。SQL> set autotrace traceonly explainSQL> SELECT * FROM test WHERE b = 992 /Execution Plan---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=35 Card=2 Bytes=64)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=35 Card=2 Bytes
=64)
2 1 INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE) (Cost=34 Ca
rd=1) 其它还有:
l INDEX UNIQUE SCAN(按索引唯一值扫描)
select * from zl_yhjbqk where hbs_bh='5420016000'
l INDEX RANGE SCAN(按索引值范围扫描)
select * from zl_yhjbqk where hbs_bh>'5420016000'
select * from zl_yhjbqk where qc_bh>'7001'
l INDEX FAST FULL SCAN(按索引值快速全部扫描)
select hbs_bh from zl_yhjbqk order by hbs_bh
select count(*) from zl_yhjbqk
select qc_bh from zl_yhjbqk group by qc_bh
col1
col1,col2
col1,col3
col1,col2,col3
cenlmmx(学海无涯苦作舟) 不知道怎么用,where a=可以用索引,b和c都不行