Gespeicherte Prozeduren sperren Sie in einer bestimmten DB-Plattform. Beispielsweise wird Code, der für MySQL geschrieben wurde, nicht sofort auf SQL Server ausgeführt. Das macht Ihre Anwendung weniger portabel. Natürlich geht es um mehr: Die Erreichung der Portabilität würde auch die Verwendung von Standarddatentypen erfordern und nicht auf plattformspezifische Funktionen angewiesen sein. Was in der Praxis nicht immer der Fall ist.
Warum verwenden Leute keine gespeicherten Prozeduren in Websites, die auf Datenbanken zugreifen?
Wenn Sie in SQL-Systemen, die gespeicherte Prozeduren unterstützen, bestimmte Funktionen nicht verwenden, wird der Sproc häufig in kompilierter und optimierter Form auf dem Server gespeichert. Wenn der SQL-Text als Zeichenfolge in PHP oder einer anderen Webseite eingebettet / erstellt wird, muss der Text vor der Ausführung an die DB gesendet und kompiliert werden. Dies ist nicht nur in der Datenbank weniger effizient, es führt dazu, dass der PHP-Interpreter (oder was auch immer) vor dem Senden mehr Arbeit erledigt und der Webserver mehr Arbeit beim Abrufen der größeren Seite leistet. Ich wundere mich daher, warum ich noch nie gespeicherte Prozeduren gesehen habe, die in einer der zahlreichen großen Open-Source-Web-Apps, die ich mir angesehen habe, verwendet wurden, nicht einmal einige, die NUR mySQL oder MS SQL Server unterstützen (beide verfügen über gespeicherte Prozeduren).
2 Antworten auf die Frage
Wenn die Apps mehrere Datenbanken unterstützen, ist es vorstellbar, dass sie für jede unterstützte Datenbank Store-Prozeduren schreiben.
Nun, ich weiß es nicht für SQL Server, aber in Bezug auf MySQL erlauben viele Shared Hostings die Erstellung von gespeicherten Prozeduren überhaupt nicht, und einige andere Funktionen.
Verwandte Probleme
-
2
Wie konvertiere ich eine Mac OS Filemaker 2-Datenbank in eine aktuelle FM- oder Bento-Datenbank, wob...
-
5
Was ist mit WinFS passiert?
-
4
Was ist das Äquivalent von Microsoft Access auf dem Mac?
-
1
So finden Sie die ORM-App für OSX
-
3
Den Editor von Vim Psql haben
-
2
Home-Movie-Datenbanksoftware
-
7
Projektmanagement-Tools?
-
2
Bandbreitendrossel für Linux
-
4
Welches ist die beste Lösung für eine gemeinsam genutzte Datenbank, die diese Anforderungen erfüllt?
-
5
Welche kostenlosen Online-Alternativen gibt es für FrontPage?