在添加新索引时,查询优化器是否仍应选择散列连接?

时间:2013-05-07 18:01:36

标签: sql oracle indexing hints

我有这个查询

SELECT Equipment.EquipmentId, ServiceStartDate FROM Service, Equipment 
WHERE Service.EquipmentId = Equipment.EquipmentId 
AND Vendor LIKE 'VEND: 1' AND ServiceType = 'failure';

以此计划为特色: enter image description here

注意,它为连接字段使用散列连接。总费用是20,时间是4。

然后,我在EquipmentId上添加了一个索引,使用它作为外键(服务)。

CREATE INDEX service_equipid2 ON Service(EquipmentId)

同样的查询产生了这个计划: enter image description here 总成本为22,时间为6。

它不应该仍然选择以前的计划吗?

(当我使用提示时,

SELECT /*+NO_INDEX(SERVICE)*/ Equipment.EquipmentId, ServiceStartDate 
FROM Service, Equipment 
WHERE Service.EquipmentId = Equipment.EquipmentId AND Vendor LIKE 'VEND: 1' 
AND ServiceType = 'failure';

它返回第一个结果。)

0 个答案:

没有答案