簡體   English   中英

SQL Server查詢-哪個性能更好?

[英]SQL Server Query - Which is better in performance?

我認為查詢1比查詢2更易讀,但是我想知道它們之間在性能方面是否有任何區別?

查詢1

UPDATE table_1
SET col_1 = 
      CASE WHEN table_1.col_pk IS NULL THEN value1
           ELSE value2
      END
FROM table_1
LEFT JOIN table_2 ON table_1.col_pk = table_2.col_pk

要么

查詢2

UPDATE table_1
SET col_1 = value1
FROM table_1
LEFT JOIN table_2 ON table_1.col_pk = table_2.col_pk
WHERE table_1.col_pk IS NULL

UPDATE table_1
SET col_1 = value2
FROM table_1
INNER JOIN table_2 ON table_1.col_pk = table_2.col_pk

第一個查詢可能會具有更好的性能,因為它只需要對table_1table_2進行一次掃描。

暫無
暫無

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

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