相关疑难解决方法(0)

T-SQL 1 = 1性能命中

对于我的SQL查询,我通常对SELECT语句执行以下操作:

SELECT ...
FROM table t
WHERE 1=1
  AND t.[column1] = @param1
  AND t.[column2] = @param2
Run Code Online (Sandbox Code Playgroud)

如果我需要添加/删除/注释任何WHERE子句,这将使它变得容易,因为我不必关心第一行.

使用此模式时是否有任何性能损失?

附加信息:

绵羊模拟器和所有其他未获得使用的实例.

假设上面的查询,我需要将@param1更改为不包含在查询中:

1 = 1时:

...
WHERE 1=1 <-- no change
  --AND t.[column1] = @param1 <-- changed
  AND t.[column2] = @param2 <-- no change
...
Run Code Online (Sandbox Code Playgroud)

没有1 = 1:

...
WHERE <-- no change
  --t.[column1] = @param1 <-- changed
  {AND removed} t.[column2] = @param2 <-- changed
...
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

sql-server ×1

t-sql ×1