我想构建一个查询,在执行时应该优化性能。下面是我的表结构: -
表名:- 库存
表结构:-
item_id int(50) Primary key,
item_name varchar(50),
matchingItemID int(50).
从上表中,我想找到匹配的item对,即如果A和B是item_id分别为1和2的两个item,那么matchingItemID字段中的值必须分别为2和1。
matchingItemID 是添加的项目的 item_id。
例如
item_id item_name matchingItemID
1 A 2
2 B 1
因此,构建的查询应返回如下输出:-
A - B。
我尝试了一个查询,但是执行需要时间,因此我认为它没有优化性能。
以下是我建立的查询: -
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;