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

Maximale Anzahl von Datensätzen in einer MySQL-Datenbanktabelle

Der größte Wert einer Ganzzahl hat wenig mit der maximalen Anzahl von Zeilen zu tun, die Sie in einer Tabelle speichern können.

Es ist wahr, dass Sie bei Verwendung von int oder bigint als Primärschlüssel nur so viele Zeilen haben können, wie die Anzahl der eindeutigen Werte im Datentyp Ihres Primärschlüssels, aber Sie müssen Ihren Primärschlüssel nicht zu einer Ganzzahl machen , könnten Sie es zu einem CHAR(100) machen. Sie können den Primärschlüssel auch über mehr als eine Spalte deklarieren.

Neben der Anzahl der Zeilen gibt es noch andere Einschränkungen für die Tabellengröße. Beispielsweise könnten Sie ein Betriebssystem verwenden, das eine Dateigrößenbeschränkung hat. Oder Sie könnten eine 300-GB-Festplatte haben, die nur 300 Millionen Zeilen speichern kann, wenn jede Zeile 1 KB groß ist.

Die Grenzen der Datenbankgröße sind wirklich hoch:

http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html

Die MyISAM-Speicher-Engine unterstützt 2 Zeilen pro Tabelle, aber Sie können MySQL mit --with-big-tables erstellen Option, damit es bis zu 2 Zeilen pro Tabelle unterstützt.

http://dev.mysql.com/doc/refman /5.1/en/innodb-restrictions.html

Die InnoDB-Speicher-Engine hat eine interne 6-Byte-Zeilen-ID pro Tabelle, daher gibt es eine maximale Anzahl von Zeilen, die 2 oder 281.474.976.710.656 entspricht.

Ein InnoDB-Tablespace hat auch eine Begrenzung der Tabellengröße von 64 Terabyte. Wie viele Zeilen hineinpassen, hängt von der Größe jeder Zeile ab.

Das Limit von 64 TB geht von einer Standardseitengröße von 16 KB aus. Sie können die Seitengröße und damit den Tablespace auf bis zu 256 TB erhöhen. Aber ich denke, Sie werden feststellen, dass andere Leistungsfaktoren dies nicht ratsam machen, lange bevor Sie eine Tabelle auf diese Größe bringen.