Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Best Practice zwischen diesen beiden Abfragen

Parametrisierte Abfragen und IN -Klausel sind eigentlich nicht trivial zusammen implementiert, wenn Ihr IN Liste ändert sich von Zeit zu Zeit.

Lesen Sie diese SO-Frage und -Antworten:Parametrieren einer SQL-IN-Klausel

Parameter sind konstruktionsbedingt nur ein Wert. Alles andere muss unter Berücksichtigung von Sicherheitsaspekten manuell implementiert werden, wie z. B. SQL-Injection .

Aus Leistungssicht haben Sie eine bessere Leistung für parametrisierte Abfragen, insbesondere wenn dieselbe Abfrage wiederholt ausgeführt wird, jedoch mit unterschiedlichen Parameterwerten. Wenn Sie jedoch einen dynamischen IN haben list (manchmal 2 Elemente, manchmal 3), erhalten Sie möglicherweise nicht den Vorteil, parametrisierte Abfragen zu verwenden.

Verliere aber nicht die Hoffnung. Einige Leute konnten das implementieren (parametrisierte Abfragen und IN Klausel). Es ist jedoch wieder nicht trivial.