sql >> Databasteknik >  >> RDS >> Sqlserver

Bästa praxis mellan dessa två frågor

Parametriserade frågor och IN klausulen är faktiskt inte trivialt implementerade tillsammans om din IN listan ändras från tid till annan.

Läs denna SO-fråga och svar:Parameterisera en SQL IN-sats

Parametrar, genom design, är endast ett värde. Allt annat än det måste implementeras manuellt, med säkerhetsproblem i åtanke, såsom SQL-injektion .

Ur ett prestandaperspektiv kommer du att ha bättre prestanda för parametriserade frågor, speciellt om samma fråga körs upprepade gånger, men med olika parametervärden. Men om du har en dynamisk IN lista (ibland 2 objekt, ibland 3), kanske du inte får fördelen av att använda parametriserade frågor.

Tappa dock inte hoppet. Vissa personer har kunnat implementera det (parametriserade frågor och IN klausul). Det är dock inte trivialt igen.



  1. Tidsstämpelintervall

  2. Kontrollera om RPC Out är aktiverat på en länkad server

  3. Tabellnamn som en PostgreSQL-funktionsparameter

  4. Optimera SQL-frågor genom att ta bort sorteringsoperatorn i exekveringsplanen