Oracleクエリを最適化しようとしています。現在、テーブルには最大100万レコードがあるため、実行速度はかなり遅くなります。テーブルとテーブルの2つのテーブルがitem_location
ありtariffs
ます。レコードには、とのitem_location
デュアルキーがitem_no
ありitem_loc
ます。tariffs
レコードは、フィールドと。を含むランダムな3桁の識別子であるキーとともに保存されtariff_code
ます。は、アイテムのレコードの外部キーです。import_tariff
export_tariff
item_tariff_code
tariffs
簡単にするために、SQLFiddleを次に示します。
2つの値を含むに一致する'sをitem_no
持つ場所を見つけようとしています。export_tariff
たとえば、export_tariff
「1111111111」と「2222222222」の両方に等しいアイテムを検索する場合、これらのレコードはデータベースにあるため、「12345」が返されます。
item_no | item_loc | export_tariff
----------------------------------------
12345 | B1 | 1111111111
12345 | B2 | 2222222222
しかし、このレコードのために「67890」は見つからないはずです。
item_no | item_loc | export_tariff
----------------------------------------
67890 | B1 | 1111111111
export_tariff
「2222222222」がないので。
これまで使用してきたクエリをSQLFiddleに追加しました。