簡體   English   中英

SQL Server 2008 R2 查詢

[英]SQL Server 2008 R2 query

我正在運行以下查詢,但花費的時間太長。 有沒有辦法讓它更快或改變查詢的編寫方式?

請幫忙。

SELECT *
FROM   ProductGroupLocUpdate WITH (nolock)
WHERE  CmStatusFlag > 2
       AND EngineID IN ( 0, 1 )
       AND NOT EXISTS (SELECT DISTINCT APGV.LocationID
                       FROM CM_ST_ActiveProductGroupsView AS APGV WITH(nolock)
                       WHERE APGV.LocationID = ProductGroupLocUpdate.Locationid);

嘗試使用連接重寫查詢

SELECT PGLU.* from ProductGroupLocUpdate PGLU WITH (NOLOCK) 
LEFT JOIN CM_ST_ActiveProductGroupsView APGV WITH (NOLOCK) 
        ON PGLU.LocationId = APGV.LocationID
WHERE APGV.LocationID IS NULL AND CmStatusFlag>2 AND EngineID IN (0,1)

根據表中有多少數據,檢查添加索引到 LocationId(在兩個表中)、CmStatusFlag 和 EngineID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM