Bei Verwendung temporärer Tabellen in MySQL: 1. Bei Verwendung des TEMPTABLE-Algorithmus oder der Ansicht in der UNION-Abfrage; 2. Bei Verwendung der DISTINCT-Abfrage und Hinzufügen von ORDER BY; 3. Bei Verwendung der Option „SQL_SMALL_RESULT“; Bei Verwendung der Unterabfrage in FROM usw.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
1. Verwenden Sie den TEMPTABLE-Algorithmus oder die Ansicht in UNION-Abfrage Klauseln von ORDER BY und GROUP BY sind unterschiedlich; in der Tabellenverbindung ist die Spalte von ORDER BY nicht in der treibenden Tabelle enthalten; Verwendung der Option SQL_SMALL_RESULT;
8. Unterabfrage oder Tabelle, die während des Semi-Joins erstellt wurde. Wenn sie „Using Temporary“ enthält, bedeutet dies, dass sie „Temporär“ ist Tische werden verwendet. Wenn die Datenmenge, die in der temporären Tabelle gespeichert werden muss, die Obergrenze (tmp-table-size oder max-heap-table-size, je nachdem, welcher Wert größer ist) überschreitet, müssen Sie natürlich eine Festplatte generieren -basierte temporäre Tabelle.In den folgenden Situationen wird eine temporäre Datentabelle erstellt:
1. Die Datentabelle enthält BLOB/TEXT-Spalten. 2 Es gibt Zeichentypspalten mit mehr als 512 Zeichen (Oder binäre Spalten mit mehr als 512 Bytes, vor 5.6.15 war es nur wichtig, ob sie 512 Bytes überstiegen. 3) 4. Führen Sie SQL-Befehle wie SHOW COLUMNS/FIELDS, DESCRIBE usw. aus, da ihre Ausführungsergebnisse den Spaltentyp BLOB verwenden. Ab 5.7.5 gibt es eine neue Systemoption internal_tmp_disk_storage_engine, die den Engine-Typ der temporären Festplattentabelle als InnoDB definieren kann. Davor konnte nur MyISAM verwendet werden. Die neue Systemoption default_tmp_storage_engine, die nach 5.6.3 hinzugefügt wurde, steuert den Engine-Typ der durch CREATE TEMPORARY TABLE erstellten temporären Tabelle. In der Vergangenheit war die Standardeinstellung MEMORY. Siehe das Beispiel unten:Empfohlenes Lernen:
MySQL-Video-TutorialDas obige ist der detaillierte Inhalt vonWann sollte eine temporäre Tabelle in MySQL verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!