2 Stimmen

Wann sollte man Sql und wann eine gespeicherte Prozedur verwenden?

Wann sollte man Sql und wann eine gespeicherte Prozedur verwenden?

Worin besteht der Unterschied zwischen ihnen? Ich weiß nur, dass die gespeicherte Prozedur vorkompiliert und im Datenbankserver gespeichert ist, wir können sie wiederverwenden. aber was ist mit sql?

select * from Employee

sollte dieses Sql jedes Mal kompiliert werden, wenn wir es an die Datenbank senden? Und was ist mit anderen Unterschieden?

2voto

Spudley Punkte 161296

Die Frage kann umgedeutet werden als "Wo wollen Sie Ihre Geschäftslogik aufbewahren?"

Die Geschäftslogik ist die Kernfunktionalität für Ihr System, die festlegt, wie es funktionieren soll.

Sie können wählen, ob Sie Ihre Geschäftslogik in Ihrer DB (d.h. als gespeicherte Prozeduren, gespeicherte Funktionen, Tabellenbeschränkungen usw.) oder in Ihrem Anwendungscode (d.h. in Softwarefunktionen, die dann Abfragen generieren) unterbringen.

Dies ist eine architektonische Entscheidung, aber im Allgemeinen würde ich empfehlen, SPs nur dort zu verwenden, wo es sinnvoll ist (z. B. für eine Abfrage, die häufig an zahlreichen Stellen in Ihrem Code wiederholt wird, oder für eine besondere Leistung in einem Bereich, in dem Sie sie wirklich brauchen und wo die Verwendung eines SPs einen echten Unterschied machen würde).

Hier ist ein Link zu einem Artikel, der vielleicht weiterhilft: http://c2.com/cgi/wiki?BusinessLogicInStoredProcedures

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X