对于DB2数据库,请考虑表tbl
(colA
,colB
,colC
)和查询
select *
from tbl
where tbl.colA = 1234.
select *
from tbl
where tbl.colA =1234
and tbl.colB = 73874
如果我们在colA
上创建两个索引,我会有所帮助ii)复合 - colA,colB
如果经常访问上面的sql,那么它将有助于拥有上述两个索引。 optemizer是否会根据查询选择正确的索引。
答案 0 :(得分:2)
您只需要索引(ii)。只要搜索数据位于列的前缀中,就会使用复合索引。因此,当您搜索colA,colB,colC,colD
,colA
,colA and colB
和colA, colB, and colC
时,将使用colA, colB, colC, and colD
上的索引。