Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Große MySQL-Tabellen

Unabhängig von der Lösung, die Sie verwenden, da Sie sagen, dass Ihre Datenbank schreiblastig sein wird, müssen Sie sicherstellen, dass die gesamte Tabelle nicht für Schreibvorgänge gesperrt wird. Dies schließt MyISAM aus, was einige vorgeschlagen haben. MyISAM sperrt die Tabelle bei einem Update, Löschen oder Einfügen. Das bedeutet, dass jeder Client, der aus der Tabelle lesen möchte, warten muss, bis der Schreibvorgang abgeschlossen ist. Keine Ahnung, was INSERT LOW PRIORITY macht, wahrscheinlich irgendein Hack um das Sperren von Tabellen herum :-)

Wenn Sie einfach nur MySQL verwenden müssen, brauchen Sie InnoDB, das keine Schreibsperre hat. Ich weiß nicht, wie MySQL die InnoDB-Tabellen von VACUUM verarbeitet (InnoDB ist MVCC wie PostgreSQL und muss daher aufgeräumt werden) ... aber Sie müssen dies berücksichtigen, wenn Sie viele Aktualisierungen oder Löschungen vornehmen.