Para mis consultas SQL, por lo general hacer lo siguiente para las instrucciones SELECT:T-SQL 1 = 1 Rendimiento Hit
SELECT ...
FROM table t
WHERE 1=1
AND t.[column1] = @param1
AND t.[column2] = @param2
Esto hará más fácil si tengo que añadir/eliminar/comentar ninguna cláusula WHERE, ya que no tengo que preocuparme por la primera línea.
¿Hay algún golpe de rendimiento al usar este patrón?
Información adicional:
Ejemplo para sheepsimulator y todos los demás que no recibieron el uso.
supongamos que la consulta anterior, tengo que cambiar @ param1 que no está incluido en la consulta:
Con 1 = 1:
...
WHERE 1=1 <-- no change
--AND t.[column1] = @param1 <-- changed
AND t.[column2] = @param2 <-- no change
...
Sin 1 = 1:
...
WHERE <-- no change
--t.[column1] = @param1 <-- changed
{AND removed} t.[column2] = @param2 <-- changed
...
Lo siento si esto suena un poco daff, pero realmente no estoy seguro de cómo Addding 1 = 1 a la cláusula WHERE que obtiene los beneficios anteriores; ¿Podrían dar más detalles sobre esto para aquellos de nosotros que quisiéramos aprender esta posible mejor práctica? –
@sheepsimulator: es muy fácil de comentar y elimine cualquier condición simplemente anteponiendo con doble guión (-) – Quassnoi
Hola Adrian, siempre hacen lo mismo, es tan cómodo para construir consultas dinámicas ... – tekBlues