Heim > Datenbank > MySQL-Tutorial > Hauptteil

Eine kurze Einführung in gespeicherte MySQL-Prozeduren und -Transaktionen

小云云
Freigeben: 2017-11-22 10:42:17
Original
2000 Leute haben es durchsucht

Die gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen, die durch einfache Aufrufe komplexere Funktionen ausführen als eine einzelne SQL-Anweisung. Sie werden nur auf dem Datenbankserver gespeichert Nachdem Sie es einmal kompiliert haben, müssen Sie es nicht erneut kompilieren, wenn Sie es erneut verwenden. Steuert hauptsächlich den gespeicherten Prozess.
Eine Transaktion ist eine Reihe von Datenänderungsvorgängen als Ganzes. Sobald ein in der Transaktion enthaltener Vorgang fehlschlägt oder vom Benutzer abgebrochen wird, kann der Benutzer das Rückgängigmachen aller Vorgänge im Transaktionshauptteil steuern und zum Zustand vor dem Start der Transaktion zurückkehren.
Die Vorgänge in der Transaktion sind ein Ganzes, entweder vollständig abgeschlossen oder überhaupt nicht abgeschlossen. Dadurch wird die Datenintegrität gewährleistet.
In MySQL unterstützt die MyISAM-Speicher-Engine keine Transaktionen, InnoDB jedoch schon.
Beide sind sehr wichtige Erkenntnisse in der Datenbank.

Gespeicherte Prozedur:

Vorteile:

1. Insbesondere bei komplexerer Logik wird der Netzwerkverkehr reduziert. Ein weiterer wichtiger Punkt besteht darin, dass die gespeicherte Prozedur erst dann kompiliert wird, wenn sie in der Zukunft ausgeführt wird Anweisungen werden bei jeder Ausführung kompiliert. Sie werden einmal kompiliert, sodass die Verwendung gespeicherter Prozeduren die Ausführungsgeschwindigkeit der Datenbank verbessern kann. .

2. Verbessern Sie die Arbeitseffizienz. Das Schreiben eines Programms ist mit der Aufrufklasse der gespeicherten Prozedur einfach und der Aufruf einer gespeicherten Prozedur erfordert nur 1–2 Zeilen Code.

3. Standardisiertes Programmdesign, einfach zu aktualisieren und zu warten.

4. Verbessern Sie die Systemsicherheit. Sie können festlegen, dass nur ein bestimmter Benutzer das Recht hat, die angegebene gespeicherte Prozedur zu verwenden.

Projekte mit geringem Datenvolumen oder die nichts mit Geld zu tun haben, können ohne gespeicherte Prozeduren normal funktionieren. Die gespeicherten Prozeduren von MySQL müssen noch tatsächlich getestet werden. Wenn es sich um ein formelles Projekt handelt, wird empfohlen, die gespeicherten Prozeduren von SQL Server oder Oracle zu verwenden. Wenn Sie mit Daten arbeiten, ist der Prozess viel schneller als das Programm.

Nachteile:

Ein Teil der Programmfunktionen wurde in die Datenbank verschoben, wodurch das dreistufige CVM-Strukturdesign zerstört wurde

Transaktion:

Transaktion In gespeicherten Prozeduren können gespeicherte Prozeduren und in gespeicherten Prozeduren können Transaktionen vorhanden sein.

Wann ist es sinnvoll, gespeicherte Prozeduren zu verwenden?

1. Wenn ein Unternehmen mehrere Tabellen gleichzeitig verarbeitet, ist es sinnvoller, gespeicherte Prozeduren zu verwenden.

2. Verwenden Sie gespeicherte Prozeduren für komplexe Datenverarbeitung, wie z. B. einige Berichtsverarbeitungen.

3. Gemeinsame Abfrage mit mehreren Bedingungen und mehreren Tabellen und Durchführung der Paging-Verarbeitung.

Wann ist der Einsatz von Transaktionen sinnvoll?

Jedes Mal, wenn eine Transaktion verwendet wird, wird ein gewisser Overhead verbraucht. Darüber hinaus können Transaktionen einige Tabellenzeilen sperren. Daher führen unnötige Transaktionen zu Leistungseinbußen. Hier gilt die Regel, Transaktionen nur dann zu verwenden, wenn der Vorgang dies erfordert. Wenn Sie beispielsweise nur einige Datensätze aus der Datenbank abfragen oder eine einzelne Abfrage ausführen, benötigen Sie in den meisten Fällen keine explizite Transaktion, da die Deklarationen bereits in der impliziten Transaktion gekapselt sind. Wie bereits erwähnt, ist dies jedoch sehr wichtig, wenn mehrere Anweisungen aktualisiert werden, da Transaktionen den Vorgang tatsächlich beschleunigen können. Wenn Sie also die Wahl haben, ein paar Millisekunden einzusparen oder die Datenintegrität zu gefährden, ist die richtige Antwort, die Daten sauber zu halten und sich um diese Millisekunden keine Sorgen zu machen.

Außerdem müssen Sie vor der Verwendung von Transaktionen darauf achten: Transaktionen so kurz wie möglich halten. Vermeiden Sie die Verwendung von SELECT-Rückgaben innerhalb einer Transaktion, es sei denn, die Anweisung hängt von den zurückgegebenen Daten ab. Wenn Sie eine SELECT-Anweisung verwenden, wählen Sie nur die benötigten Zeilen aus, um nicht zu viele Ressourcen zu sperren und gleichzeitig die höchstmögliche Leistung aufrechtzuerhalten. Entfernen Sie im Falle einer architektonischen Wortreihenfolge alle SELECT-Anweisungen aus der Transaktion. Dies geschieht, weil die Transaktion während der Verarbeitung alle bearbeiteten Datenzeilen sperrt, was sich auf die Ausführung anderer gleichzeitiger SQL-Anweisungen auswirkt.

Das Obige ist der Unterschied zwischen gespeicherten MySQL-Prozeduren und Dingen. Ich hoffe, dass es für alle hilfreich ist.

Verwandte Empfehlungen:

Detaillierte Einführung in die gespeicherte Prozedur

Warum die gespeicherte MySQL-Prozedur verwenden? Einführung in gespeicherte MySQL-Prozeduren

Gleichzeitiger Betrieb verschiedener Datenbanktabellen, unterstützt es Dinge, MySQL-Lösung

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in gespeicherte MySQL-Prozeduren und -Transaktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!