Gespeicherte Prozeduren
Erfordert MySQL 5 MySQL 5 fügt Unterstützung für gespeicherte Prozeduren hinzu, daher gilt der Inhalt dieses Kapitels für MySQL 5 und spätere Versionen.
Die meisten bisher verwendeten SQL-Anweisungen sind Einzelanweisungen für eine oder mehrere Tabellen. Nicht alle Vorgänge sind so einfach, und oft sind für den Abschluss einer vollständigen Operation mehrere Anweisungen erforderlich. Betrachten Sie beispielsweise die folgende Situation.
1. Zur Bearbeitung der Bestellung muss geprüft werden, ob die entsprechenden Artikel vorrätig sind.
2. Wenn Artikel auf Lager sind, müssen diese Artikel reserviert werden, damit sie nicht an andere weiterverkauft werden, und die Anzahl der verfügbaren Artikel wird reduziert, um den korrekten Lagerbestand widerzuspiegeln.
3. Artikel, die nicht auf Lager sind, müssen bestellt werden, was eine gewisse Interaktion mit dem Lieferanten erfordert.
4. Den entsprechenden Kunden muss mitgeteilt werden, welche Artikel auf Lager sind (und sofort versendet werden können) und welche Artikel abgemeldet sind.
Dies ist natürlich kein vollständiges Beispiel und geht sogar über den Rahmen der in diesem Buch verwendeten Beispieltabellen hinaus, aber es reicht aus, um auszudrücken, was wir meinen. Für diese Verarbeitung sind mehrere MySQL-Anweisungen für viele Tabellen erforderlich. Darüber hinaus sind die spezifischen Anweisungen, die ausgeführt werden müssen, und ihre Reihenfolge nicht festgelegt. Sie können (und werden) sich ändern, je nachdem, welche Artikel sich im Inventar befinden und welche nicht.
Also, wie schreibt man diesen Code? Sie können jede Anweisung einzeln schreiben und basierend auf den Ergebnissen weitere Anweisungen bedingt ausführen. Dies muss jedes Mal erfolgen, wenn diese Verarbeitung erforderlich ist (und in jeder Anwendung, die dies erfordert).
Gespeicherte Prozeduren können erstellt werden. Einfach ausgedrückt ist eine gespeicherte Prozedur eine Sammlung einer oder mehrerer MySQL-Anweisungen, die für die zukünftige Verwendung gespeichert werden. Betrachten Sie sie als Batchdateien, obwohl ihre Rolle nicht auf die Stapelverarbeitung beschränkt ist.
Warum gespeicherte Prozeduren verwenden
Da wir nun wissen, was eine gespeicherte Prozedur ist, warum sollten wir das auch tun? Wie wäre es mit ihrer Verwendung? Es gibt viele Gründe, einige der wichtigsten sind unten aufgeführt.
1. Vereinfachen Sie komplexe Vorgänge, indem Sie die Verarbeitung in benutzerfreundlichen Einheiten kapseln .
2. Dies stellt die Datenintegrität sicher, da keine wiederholte Einrichtung einer Reihe von Verarbeitungsschritten erforderlich ist. Wenn alle Entwickler und Anwendungen dieselbe gespeicherte Prozedur (Pilot und Test) verwenden, ist der verwendete Code derselbe. Eine Erweiterung davon ist die Fehlervermeidung. Je mehr Schritte Sie ausführen müssen, desto größer ist die Fehlerwahrscheinlichkeit. Durch die Vermeidung von Fehlern wird die Datenkonsistenz sichergestellt.
3. Vereinfachen Sie die Verwaltung von Änderungen. Wenn sich die Tabellennamen, Spaltennamen oder die Geschäftslogik (oder irgendetwas anderes) ändern, müssen Sie nur den Code der gespeicherten Prozedur ändern. Benutzer müssen sich der Änderungen nicht einmal bewusst sein. Eine Erweiterung davon ist die Sicherheit. Die Beschränkung des Zugriffs auf zugrunde liegende Daten durch gespeicherte Prozeduren verringert das Risiko einer Datenbeschädigung (unbeabsichtigt oder anderweitig).
4. Verbessern Sie die Leistung. Denn die Verwendung gespeicherter Prozeduren ist schneller als die Verwendung separater SQL-Anweisungen.
5. Es gibt einige MySQL-Elemente und -Funktionen, die nur in einer einzigen Anfrage verwendet werden können, um leistungsfähigeren und flexibleren Code zu schreiben. Mit anderen Worten: Die Verwendung gespeicherter Prozeduren bietet drei Hauptvorteile: Einfachheit, Sicherheit und hohe Leistung. Offensichtlich sind sie alle wichtig. Bevor Sie jedoch SQL-Code in gespeicherte Prozeduren konvertieren, müssen Sie sich auch einiger seiner Mängel bewusst sein.
6. Im Allgemeinen ist das Schreiben gespeicherter Prozeduren komplizierter als das Schreiben gespeicherter Prozeduren.
7. Möglicherweise haben Sie keinen Sicherheitszugriff zum Erstellen gespeicherter Prozeduren. Viele Datenbankadministratoren schränken die Berechtigungen zum Erstellen gespeicherter Prozeduren ein, indem sie Benutzern die Verwendung gespeicherter Prozeduren gestatten, ihnen jedoch nicht erlauben, gespeicherte Prozeduren zu erstellen. Trotz dieser Mängel sind gespeicherte Prozeduren sehr nützlich und sollten nach Möglichkeit verwendet werden.
Sie können keine gespeicherte Prozedur schreiben? Sie können MySQL weiterhin verwenden, um die Sicherheit und den Zugriff beim Schreiben gespeicherter Prozeduren von der Sicherheit und dem Zugriff beim Ausführen gespeicherter Prozeduren zu trennen. Das ist eine gute Sache. Auch wenn Sie keine eigenen gespeicherten Prozeduren schreiben können (oder wollen), können Sie bei Bedarf dennoch andere gespeicherte Prozeduren ausführen.
Das obige ist der detaillierte Inhalt vonWarum MySQL-gespeicherte Prozeduren verwenden? Einführung in gespeicherte MySQL-Prozeduren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!