【发布时间】:2013-08-29 22:14:48
【问题描述】:
在表 invt_item_d 的 (item_id & branch_id & co_id) 列上有一个索引。
第一个查询的计划结果是TABLE ACCESS FULL,成本是528,
第二个查询的结果是INDEX FAST FULL SCAN(我的索引),成本是27。
如您所见,唯一的区别是,所选列用于第二个查询的索引。
这有什么问题吗?请问,您能告诉我我应该怎么做才能在 db 管理级别解决这个问题吗?
select d.qty
from invt_item_d d
where d.item_id = 999
and d.branch_id = 888
and d.co_id = 777
select d.item_id
from invt_item_d d
where d.item_id = 999
and d.branch_id = 888
and d.co_id = 777
编辑: 我做了一个新查询,这个查询的成本是 529,TABLE ACCESS FULL。
select qty from invt_item_d
所以我是否使用索引都没有关系。有人说这很正常,这真的是正常行为吗?
【问题讨论】:
标签: performance oracle indexing