Md.*_*ain 1 t-sql database sql-server
考虑这个代码片段:
SELECT
vbs.SKUID, SKUName, SUM(vbs.Quantity) AS Qty
FROM
BatchStocks AS vbs
WHERE
vbs.SKUID IN (Here i have almost 12000 SKU)
AND vbs.StoreID IN (%q)
AND vbs.StockType = %n
GROUP BY
vbs.SKUID, vbs.SKUName
Run Code Online (Sandbox Code Playgroud)
在这种where情况下,我有将近 12000 个 SKUID,这需要很多时间来执行语句。你能建议我如何改进这个查询吗?
您可以使用 EXISTS()
将 SKU 放在临时表中
和
WHERE vbs.SKUID IN (Here i have almost 12000 SKU)
Run Code Online (Sandbox Code Playgroud)
改成
WHERE EXISTS
(
SELECT *
FROM #TEMP x
WHERE x.SKUID = vbs.SKUID
)
Run Code Online (Sandbox Code Playgroud)