这是我的查询。在我评论部分OR(NITransactionStatus =' SUCCESS')后,没有缓慢。 我如何修改此查询,以便没有慢,我还需要包括内部条件' WHERE'条款?
SELECT COUNT(*)
FROM IN_CTD D
INNER JOIN IN_CTC C
ON C.InwardCustFileId = D.InwardCustFileId
WHERE (D.CurrentStatusId = 30) OR (NITransactionStatus = 'SUCCESS')
试着简短说明:
当我执行此查询时,完成执行需要花费太多时间。在我评论了“或”之后检查,没有缓慢。' IN_CTD'查询中提到的表包含2830539条记录和表格' IN_CTC'有1965条记录。如何修改此查询,包括“或”'检查是否会花费很多时间来执行?
答案 0 :(得分:-1)
也许你可以尝试子查询。如果NITransactionStatus列在IN_CTD表上,请尝试:
SELECT COUNT(*)
FROM IN_CTC C
INNER JOIN (SELECT InwardCustFileId FROM IN_CTD WHERE (CurrentStatusId = 30) OR (NITransactionStatus = 'SUCCESS')) AS D
ON C.InwardCustFileId = D.InwardCustFileId
如果NITransactionStatus列在IN_CTC表上,请尝试:
SELECT COUNT(*)
FROM IN_CTC C
INNER JOIN (SELECT InwardCustFileId FROM IN_CTD WHERE CurrentStatusId = 30) AS D
ON C.InwardCustFileId = D.InwardCustFileId
WHERE (NITransactionStatus = 'SUCCESS')
希望它可以提供帮助。