Laden...

vor\nach teile von Parametrisierten Aufruf von SP

Erstellt von bigpoint vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.278 Views
B
bigpoint Themenstarter:in
121 Beiträge seit 2006
vor 16 Jahren
vor\nach teile von Parametrisierten Aufruf von SP

verwendetes Datenbanksystem: SQL Server 2000

Welche vorteile (und ob überhaupt) hat Parametrisierten Aufruf von Prozeduren oder T-SQL Abfragen gegenüber "string zusammenbauen" ???

N
4.644 Beiträge seit 2004
vor 16 Jahren

SQL Injection

B
bigpoint Themenstarter:in
121 Beiträge seit 2006
vor 16 Jahren

sonst zB: performenc usw.

W
32 Beiträge seit 2007
vor 16 Jahren

sieht viel übersichtlicher aus,
du kannst mit den dbtypes ein bissal gegen die dummheit mancher user unternehmen,
und wie gesagt injections.

"Arbeit ist die altmodische Form der Vermögensbildung in Arbeitnehmerhand."

Wolfram Weidner (*1925), dt. Journalist

F
10.010 Beiträge seit 2004
vor 16 Jahren

Leider habe ich das "nur" mit dem 2005 getestet.

Der Sql-Server erstellt bei jeder Abfrage einen Ausfüghrungsplan.
Gecached wird es anhand des Sql-Strings.

Wenn du also die Abfragen durch strings erstellst, ändert sich dies ja ständig,
und kein Ausführungsplan wird wiederbenutzt.

Erstellst Du parametrisierte Queries, ändert sich der string nicht, und die abfrage
ist genauso schnell wie eine SP.

J
3.331 Beiträge seit 2006
vor 16 Jahren

Weiterer Grund: Bei **DateTime **und **Dezimalzahlen **muss man immer die Formatierung des Strings beachten: passt denn value.ToString() mit dem Format der DB überein? Bei Parametern übernimmt der DbProvider diese Aufgabe; ständiges überflüssiges und fehleranfälliges Konvertieren wird vermieden. Jürgen