Für InnoDB-Benutzer schränken einige Merkmale von Transaktionen die Verwendung des Abfragecaches ein. Wenn eine Anweisung eine Tabelle in einer Transaktion ändert, macht MySQL die der Tabelle entsprechende Abfrage-Cache-Einstellung ungültig, bevor die Transaktion übermittelt wird. Daher wird die Trefferquote des Abfrage-Cache durch lang laufende Transaktionen erheblich verringert.
(3) So analysieren und konfigurieren Sie den Abfragecache
10. Gespeicherte Prozedur
Eine gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen zur Ausführung einer bestimmten Funktion. Sie wird durch Angabe des Namens kompiliert und in der Datenbank gespeichert Wenn Sie die gespeicherte Prozedur eingeben und den Wert des Parameters angeben, können Sie auch das Ergebnis zurückgeben.
Vorteile gespeicherter Prozeduren:
Reduzieren Sie den Netzwerkverkehr
Verbessern Sie die Ausführungsgeschwindigkeit
Reduzieren Sie die Anzahl der Datenbankverbindungen
Hohe Sicherheit
-
Hohe Wiederverwendbarkeit
Nachteile gespeicherter Prozeduren:
11. Transaktionen
Anweisungen innerhalb einer Transaktion werden entweder alle ausgeführt oder überhaupt nicht ausgeführt. Transaktionen haben ACID-Merkmale, die Atomizität, Konsistenz, Isolation und Haltbarkeit darstellen.
(1) Atomizität
Eine Transaktion muss als unteilbare Mindestarbeitseinheit betrachtet werden. Alle Vorgänge in der gesamten Transaktion werden entweder vollständig ausgeführt und erfolgreich übermittelt oder alle werden ohne Fehler zurückgesetzt.
(2) Konsistenz
Die Datenbank wechselt immer von einem konsistenten Zustand in einen anderen konsistenten Zustand.
(3) Isolation
Die von einer Transaktion vorgenommenen Änderungen sind für andere Transaktionen nicht sichtbar, bevor sie endgültig übermittelt werden.
(4) Haltbarkeit
Sobald die Transaktion übermittelt wurde, werden die vorgenommenen Änderungen dauerhaft in der Datenbank gespeichert.
12. Index
Der Index ist eine Datenstruktur, die von der Speicher-Engine zum schnellen Auffinden von Datensätzen verwendet wird. Ich denke, der wichtigste Wissenspunkt in der Datenbank ist der Index.
Speicher-Engines verwenden B-Tree-Indizes auf unterschiedliche Weise und auch ihre Leistung ist unterschiedlich, jede mit ihren eigenen Vor- und Nachteilen. MyISAM verwendet beispielsweise die Präfixkomprimierungstechnologie, um den Index zu verkleinern, InnoDB speichert ihn jedoch im ursprünglichen Datenformat. MyISAM-Indizes beziehen sich auf indizierte Zeilen anhand des physischen Speicherorts der Daten, während InnoDB sich auf indizierte Zeilen anhand ihres Primärschlüssels bezieht.
B-Baum bedeutet normalerweise, dass alle Werte der Reihe nach gespeichert werden und jede Blattseite den gleichen Abstand von der Wurzel hat.
Der B-Tree-Index kann den Datenzugriff beschleunigen, da die Speicher-Engine keinen vollständigen Tabellenscan mehr durchführen muss, um die erforderlichen Daten zu erhalten, sondern stattdessen vom Wurzelknoten des Index aus sucht. Die Slots des Root-Knotens speichern Zeiger auf untergeordnete Knoten, und die Speicher-Engine sucht basierend auf diesen Zeigern abwärts. Indem Sie den Wert der Knotenseite mit dem gesuchten Wert vergleichen, können Sie geeignete Zeiger auf die unteren untergeordneten Knoten finden. Diese Zeiger definieren tatsächlich die Ober- und Untergrenzen der Werte auf der untergeordneten Knotenseite. Schließlich findet die Speicher-Engine entweder den entsprechenden Wert oder der Datensatz ist nicht vorhanden.
Blattknoten sind etwas Besonderes. Ihre Zeiger zeigen auf die indizierten Daten und nicht auf andere Knotenseiten. B-Tree organisiert und speichert Indexspalten nacheinander und eignet sich daher sehr gut für die Suche nach Bereichsdaten. B-Tree eignet sich für die Suche nach vollständigen Schlüsselwerten, Schlüsselwertbereichen oder Schlüsselpräfixen.
Da die Knoten im Indexbaum geordnet sind, kann der Index nicht nur für die Suche nach Wert, sondern auch für die Sortierung nach Vorgängen in Abfragen verwendet werden. Wenn ein B-Baum einen Wert auf eine bestimmte Weise finden kann, kann er im Allgemeinen auch zum Sortieren auf diese Weise verwendet werden.
13. Volltextindex
Der Zweck des Volltextindex besteht darin, Abfragen durch Schlüsselwortübereinstimmung zu filtern, basierend auf Ähnlichkeitsabfragen, und nicht auf präzisen Abfragen.
Der Volltextindex analysiert mithilfe der Wortsegmentierungstechnologie die Häufigkeit und Wichtigkeit bestimmter Schlüsselwörter im Text und filtert auf intelligente Weise die gewünschten Ergebnisse gemäß einem bestimmten Algorithmus heraus.
Der Volltextindex wird im Allgemeinen zum Abfragen bestimmter Schlüsselwörter in Zeichenfolgen verwendet, z. B. char, varchar und text. Er unterstützt auch den Volltextindex in natürlicher Sprache und den booleschen Volltextindex.
Empfohlenes Lernen: MySQL-Video-Tutorial