T-SQL 1=1 Performance Hit

sql-server, t-sql

Solution

It is likely that if you use the profiler and look, you will end up seeing that the optimizer will end up ignoring that more often than not, so in the grand scheme of things, there probably won't be much in the way of performance gain or losses.

Problem

For my SQL queries, I usually do the following for SELECT statements: ``` SELECT ... FROM table t WHERE 1=1 AND t.[column1] = @param1 AND t.[column2] = @param2 ``` This will make it easy if I need to add / remove / comment any WHERE clauses, since I don't have to care about the first line. Is there any performance hit when using this pattern? Additional Info: Example for sheepsimulator and all other who didn't get the usage. Suppose the above query, I need to change @param1 to be not included into the query: With 1=1: ``` ... WHERE 1=1 <-- no change --AND t.[column1] = @param1 <-- changed AND t.[column2] = @param2 <-- no change ... ``` Without 1=1: ``` ... WHERE <-- no change --t.[column1] = @param1 <-- changed {AND removed} t.[column2] = @param2 <-- changed ... ```

Original source