我正在尝试在这里查询两个相当大的表以获取一些结果并遇到一些效率问题。
注意:我只包含了相关的列,以使这看起来不那么凌乱!
TableA (Stock) 具有 productID、ownerID 和 count 列
TableB(所有者)具有 ID、accountHolderID 和 name 列
我想要做的是查询 TableA 并且 productID = X 拉起 Stock.productID、Stock.accountHolderID 和 Owners.name。这两个表之间的关系是 Stock.ownerID = Owners.ID 所以如果 WHERE 条件拉说五个产品 ID,那么我希望 TableB 中的名称与 TableA 中的 ownerID 匹配。
这种情况下唯一的唯一 ID 是 TableB 中的 Owners.ID
只需对这些产品在 TableA 上执行基本的 SELECT 查询需要 15 秒,但是当我添加一个 INNER JOIN 以匹配 TableB 时,查询需要更长的时间,超过 10 分钟。我猜我设计这个查询效率低下。
SELECT
Owners.name,
Stock.productID,
Stock.ownerID
FROM Stock
INNER JOIN
Owners
ON Stock.ownerID = Owners.ID
WHERE
Stock.productID = 42301679
我怎样才能使这个查询更有效率?
将 OR 添加到 WHERE 条件是否允许我一次提取多个产品 ID?