運行時有多個選擇查詢(在SQL SERVER 2000 +),語句如SQL Server的WHERE子句
SELECT *
FROM TABLE1
WHERE TableId = @TableId
AND Column1 = @Column1
AND Column2 = @Column2
AND Column3 = @Column3 etc.
...沒有查詢計算where子句中的每一個,即使第一個不等於?我有一個查詢,它在每次更新之前檢查每個列是否有更改(即只有在有更改時纔會更新)。如果查詢比較每列,那麼我想我需要重寫查詢。但是,如果查詢引擎首先過濾到ID列,然後在該過濾集內單獨比較每列,那麼性能應該沒問題(我會想到嗎?)。
我希望這是有道理的。
謝謝, 詹姆斯。
感謝。我最終以不同的方式修改了我的查詢,但我非常感謝您的建議。 – 2009-10-29 09:29:54