Ich versuche, eine temporäre mySQL Tabelle in den Speicher zu erstellen und laden Sie die folgende Syntax verwendet, sondern in eine leite „Tabelle voll ist“ Fehler:mySQL temporäre Tabelle ist voll
CREATE TEMPORARY TABLE IF NOT EXISTS tmpHistory ENGINE=MEMORY SELECT * FROM history ORDER BY date ASC;
Meine ursprüngliche Geschichte InnoDB-Tabelle hat ungefähr 3m Reihen und ungefähr 300mb.
max_heap_table_size = 536870912
tmp_table_size = 536870912
ich mySQL auf AWS r3.xlarge renne, die ein 4-Kern ist: Ich habe die beiden folgenden Servervariablen von ihren 16mb Standardwerte erhöht Box mit 30,5 GB RAM.
Ich habe this SO guidance überprüft, aber läuft immer noch in die Tabelle ist voller Fehler. Ich bin neu in der Verwendung der Speicher-Engine, daher werden alle Vorschläge geschätzt.
Vielen Dank für Ihren Kommentar. Ich hätte erwähnen sollen, dass meine Geschichtstabelle in Jahre unterteilt ist und diese temporäre Tabelle einen dieser Jahre für den schreibgeschützten Zugriff lädt. Ich aktualisiere diese temporäre Tabelle einmal pro Tag. Es ist mir auch peinlich, zuzugeben, dass ich versucht habe, diese Aussage von Sequel Pro auszuführen, die den Fehler zurückgegeben hat. Das Ausführen über die Befehlszeile hat die temporäre Tabelle im Speicher erfolgreich erstellt. Meine anfänglichen Tests der Abfrageantwortrate gegenüber dieser neuen temporären Speichertabelle haben eine Verbesserung von 90%. – Gunnar
Wiederladen nur einmal am Tag? Geben Sie auch den Speicherplatz, den Sie MEMORY gegeben hätten, stattdessen dem buffer_pool –