私はこのクエリを持っていました
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';
最初の結果に戻ります)。