我有这个查询
SELECT Equipment.EquipmentId, ServiceStartDate FROM Service, Equipment
WHERE Service.EquipmentId = Equipment.EquipmentId
AND Vendor LIKE 'VEND: 1' AND ServiceType = 'failure';
推荐这个计划:
请注意,它对连接字段使用哈希连接。总成本为 20,时间为 4。
然后,我在 EquipmentId 表上添加了一个索引,使用它作为外键(服务)。
CREATE INDEX service_equipid2 ON Service(EquipmentId)
相同的查询产生了这个计划: 总成本为 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';
它返回到第一个结果)。