Zusammenfassung: MySQL verwendet in vielen Fällen temporäre Tabellen. Was ist eine temporäre Tabelle? Temporäre Tabellen werden nur während verwendet Es ist ersichtlich, dass MySQL die Tabelle automatisch löscht und den gesamten Speicherplatz freigibt, wenn die Verbindung geschlossen wird.
MySQL verwendet in vielen Fällen temporäre Tabellen. Fassen wir zusammen, wann temporäre Tabellen verwendet werden:
Was ist eine temporäre Tabelle: MySQL wird zum Speichern einiger Zwischenergebnistabellen und temporärer Tabellen verwendet sind nur in der aktuellen Verbindung sichtbar. Wenn die Verbindung geschlossen wird, löscht MySQL automatisch die Tabelle und gibt den gesamten Speicherplatz frei. Warum temporäre Tabellen generiert werden: Im Allgemeinen werden temporäre Tabellen aufgrund komplexer SQL in großer Zahl erstellt.
Temporäre Tabellen werden in zwei Typen unterteilt: eine ist eine temporäre Speichertabelle und die andere eine temporäre Festplattentabelle. Die temporäre Speichertabelle verwendet die Speicher-Engine, und die temporäre Festplattentabelle verwendet die Myisam-Speicher-Engine (temporäre Festplattentabellen können auch die Innodb-Speicher-Engine verwenden. Verwenden Sie den Parameter internal_tmp_disk_storage_engine, um zu steuern, welche Speicher-Engine verwendet wird. Ab mysql5.7.6 Der Standardwert ist die Innodb-Speicher-Engine, frühere Versionen waren standardmäßig die Myisam-Speicher-Engine. Verwenden Sie die Parameter Created_tmp_disk_tables und Created_tmp_tables, um anzuzeigen, wie viele temporäre Festplattentabellen generiert werden und alle generierten temporären Tabellen (Speicher und Festplatte).
Die Größe des temporären Speichertabellenbereichs wird durch zwei Parameter gesteuert: tmp_table_size und max_heap_table_size. Im Allgemeinen wird der kleinere der beiden Parameter verwendet, um den Maximalwert des temporären Tabellenbereichs im Speicher zu steuern. Für temporäre Tabellen, die aufgrund zu großer Datenmengen zunächst im Speicher erstellt und später in temporäre Tabellen auf der Festplatte übertragen werden, wird nur max_heap_table_size verwendet Parametersteuerung verwendet. Es gibt keine Größenkontrolle für temporäre Tabellen, die direkt auf der Festplatte generiert werden.
Die folgenden Operationen verwenden temporäre Tabellen:
1ã Union-Abfrage
2ã Für Ansichtsoperationen, z. B. die Verwendung einiger TEMPTABLE-Algorithmen, Union oder Aggregation
3ã Unterabfrage
4ã Semi-Join einschließlich Nicht in, vorhanden usw.
5ã Abgeleitete Tabelle, die durch Abfrage generiert wurde
6ã Komplexe Gruppierung nach und Reihenfolge nach
7ã Einfügen, wählen Sie dieselbe Tabelle aus, MySQL generiert eine temporäre Tabelle, um die ausgewählten Zeilen zwischenzuspeichern
8ã Mehrere Tabellen aktualisieren
9ã GROUP_CONCAT()- oder COUNT(DISTINCT)-Anweisung
. . .
Mysql verhindert auch die Verwendung von Speichertabellenbereich und verwendet direkt temporäre Tabellen auf der Festplatte:
1ã Die Tabelle enthält BLOB- oder TEXT-Spalten
2ã Bei Verwendung von Union oder Union All , Wenn die Select-Klausel Spalten enthält, die größer als 512 Bytes sind
3ã Spalten oder Desc-Tabellen anzeigen, gibt es LOB- oder TEXT-Klauseln
4ã GROUP BY- oder DISTINCT-Klauseln, die Spalten enthalten, die größer als 512 Bytes sind. Spalte
Verwandte Empfehlungen:
Verwendung der temporären MySQL-Tabelle
So verwenden Sie die temporäre Tabelle in MySQL
Das obige ist der detaillierte Inhalt vonWann werden temporäre Tabellen verwendet? Zusammenfassung der Verwendung temporärer MySQL-Tabellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!