実行時にパフォーマンスを最適化する必要があるクエリを作成したいと思います。以下は私のテーブル構造です:-
テーブル名:-インベントリ
テーブル構造:-
item_id int(50) Primary key,
item_name varchar(50),
matchingItemID int(50).
上記の表から、一致するアイテムのペアを見つけたいと思います。つまり、AとBがそれぞれitem_id 1と2の2つのアイテムである場合、matchingItemIDという名前のフィールドの値はそれぞれ2と1でなければなりません。
matchItemIDは、追加されたアイテムのitem_idです。
例えば
item_id item_name matchingItemID
1 A 2
2 B 1
したがって、構築されたクエリは次のように出力を返す必要があります。-
A-B。
1つのクエリを試しましたが、実行に時間がかかるため、パフォーマンスが最適化されていないと思います。
以下は私が作成したクエリです:-
SELECT a.item_id, b.item_id
FROM inventory a, inventory b
WHERE a.matchingItemID = b.item_id
AND b.matchingItemID = a.item_id
AND a.item_id != b.item_id;