运行时有多个选择查询(在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