Announcement

Collapse
No announcement yet.

relativ große MEMORY-Tabelle in INNODB umwandeln, sinnvoll?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • relativ große MEMORY-Tabelle in INNODB umwandeln, sinnvoll?

    Hallo,

    wir haben eine relativ große MEMORY-Tabelle (data_length 401219520, index_length 68965632 lt. information_schema), die vorberechnete Ergebnisse vorhält und ziemlich oft abgefragt wird und daher auch schnell sein muss. INSERTs und UPDATEs finden quasi nicht statt, die Tabelle wird nur regelmäßig komplett neu aufgebaut.
    Die MySQL-Instanz wollten wir letztens replizieren (Master-Master) und es gab nur Ärger wegen dieser Memory-Tabellen, die nach dem Neustart eines der beiden Server dort natürlich nicht mehr vorhanden war usw.

    Ist es praktikabel, diese Memory-Tabelle in eine INNODB-Tabelle umzuwandeln? Das wird schon mit einer gewissen Performance-Einbuße einhergehen, aber wie hoch wäre die etwa? Wenn der zugewiesene Bufferpool groß genug wäre, dass die Engine die Tabelle komplett in den Speicher schieben kann, wäre dann die Performance nicht ähnlich? Und kann man beeinflussen, dass die Engine das auch tut (vielleicht ein komplettes SELECT nach Start der Instanz) und diese auch im Speicher behält?

    Ich will nicht faul sein, aber ehe ich jetzt Tests vornehme und die Performance dramatisch einbricht und die Seite quasi unbenutzbar wird ... vielleicht hat ja jemand bereits Erfahrungen dieser Art gemacht ...


    Dave

  • #2
    Wenn du praktisch nur Lesezugriffe hast - dann wäre myISAM auch keine schlechte Wahl wenn du wirklich nur 1 Tabelle hast.

    Aber egal - INNODB ist auf jeden Fall ein vernünftiger Ansatz. Wie und ob du die Daten in den Buffer schieben kannst hängt primär von deiner Version des mySQL Servers ab. Gerade bei 5.6 kommen da nette Features dazu (http://dev.mysql.com/doc/refman/5.6/...yze-table.html). Falls du mit 5.5 fährst, dann geht das auch mit ein paar Kniffen, z.B. über eine Blackhole-Dummytabelle (--> Google).

    Fall du noch eine ältere Version hast -> updaten!

    Wie effizient das ganze funktioniert hängt aber auch von den Daten ab die in dieser Tabelle Abgelegt sind. Binärdaten, TEXT etc. sieht der Buffer meines Wissens ungerne (analog zum Join-Buffer).

    Comment

    Working...
    X