Per i miei query SQL, Io di solito il seguente per le istruzioni SELECT:T-SQL 1 = 1 Performance Hit
SELECT ...
FROM table t
WHERE 1=1
AND t.[column1] = @param1
AND t.[column2] = @param2
questo modo sarà più facile se ho bisogno di aggiungere/rimuovere/commentare eventuali clausole WHERE, dal momento che non devo preoccuparmi della prima linea.
C'è qualche colpo di prestazioni quando si utilizza questo modello?
Informazione supplementare:
Esempio per sheepsimulator e tutti gli altri che non hanno ottenuto l'utilizzo.
Supponiamo che la query di cui sopra, ho bisogno di cambiare @ param1 da non incluso nella query:
Con 1 = 1:
...
WHERE 1=1 <-- no change
--AND t.[column1] = @param1 <-- changed
AND t.[column2] = @param2 <-- no change
...
Senza 1 = 1:
...
WHERE <-- no change
--t.[column1] = @param1 <-- changed
{AND removed} t.[column2] = @param2 <-- changed
...
Mi dispiace se sembra un po 'daff, ma non sono davvero sicuro di come aggiungere 1 = 1 alla tua clausola WHERE ti porti i benefici di cui sopra; potresti approfondire questo argomento per quelli di noi che vorrebbero imparare questa possibile migliore pratica? –
@sheepsimulator: è super facile commentare e decommentare qualsiasi condizione semplicemente anticipandolo con doppio trattino (-) – Quassnoi
Hey Adrian, faccio sempre la stessa cosa, è così comodo compilare query dinamiche ... – tekBlues