2017-02-22 1 views
0

Ist es möglich, ganze MySQL-Datenbank im Speicher zu speichern. Soll ich dafür spezielle Abfragen erstellen? Welche Art von Abfrage muss ich ausführen? Ich möchte Einfügungen beschleunigen, aktualisieren und lösche Operation von der spezifischen Tabelle und für jetzt ist das der einzige mögliche Weg, denke ich.MySQL-Datenbank im Speicher ausgeführt, um die Ausführung von Abfragen zu beschleunigen

+0

lesen Sie diese Dokumentation für die Beschleunigung der Abfrageausführung [link] (https://dev.mysql.com/doc/refman/5.7/en/select-optimization.html) –

+0

Meinen Sie haben so viel RAM, dass der Server kann alles einfach dort bleiben und nur die Festplatte benutzen, um Änderungen zu speichern? Oder eine temporäre blitzschnelle Datenbank, die beim Herunterfahren entfernt werden kann? –

Antwort

1

Sie können eine Tabelle erstellen, die die MEMORY-Engine verwendet. Beim Starten des Diensts füllen Sie die Tabelle von einer anderen, die auf der Festplatte vorhanden ist, und synchronisieren Sie sie in bestimmten Abständen mit der Tabelle, die auf der Festplatte vorhanden ist. INSERT INTO ... SELECT * FROM ...

Hinweis: Beachten Sie, dass beim Beenden des Servers oder des mysql-Dienstes alle in der Tabelle gespeicherten Daten verloren gehen. aber es ist ein bisschen zu lang -

Mehr Infos auf der MEMORY-Engine kann dies sollte ein Kommentar sein bei https://dev.mysql.com/doc/refman/5.7/en/memory-storage-engine.html

0

finden.

Was versuchen Sie damit zu erreichen?

Sie werden 2 Probleme als Folge haben: Die Daten müssen nach einem Stromzyklus (oder mysql Neustart) neu besiedelt werden und wird durch tmp_table_size und max_heap_table_size begrenzt werden.

Wenn Sie nur den Rohdatenzugriff beschleunigen möchten, speichert Innodb so viele Daten im Speicher, wie Sie es zulassen. MyISAM speichert die Indizes im Speicher (und auf Linux-Systemen und ähnlichem werden Tabellendaten zwischengespeichert - jedoch nicht unbegrenzt). Aber der erste Ort, an dem Sie suchen sollten, wenn Sie Leistungsprobleme haben, ist, dass die Abfragen für die Datenbank ausgeführt werden.

Wenn Sie möchten, dass die Daten in Sicherungen oder nach einem Neustart nicht verfügbar sein sollen, dann bewahren Sie die Datendateien auf einem verschlüsselten Dateisystem auf (mit dem Schlüssel zum Zeitpunkt der Bereitstellung).

Verwandte Themen