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

Wie speichert man eine große Anzahl von Datensätzen in einer MySQL-Datenbank?

Verwenden Sie einen Tisch so, wie Sie sind. MySQL kann problemlos Milliarden oder Zeilen von Daten verarbeiten. Mit einigen netten Indizes sollte Ihre Leistung auch ziemlich gut sein.

Das soll nicht heißen, dass Sie nicht darauf achten sollten, dass Sie ein gutes Tabellendesign haben, aber Sie sollten sich auch keine Sorgen über den Umgang mit Daten machen, von denen Sie denken, dass sie wahrscheinlich eine Menge Daten sind – obwohl es in Wirklichkeit wahrscheinlich ein Rückgang der Daten ist Ozean von Datensätzen.

Die Anzahl der Spalten macht wirklich keinen ZU großen Unterschied, die Zeilengröße kann die Zeit erhöhen, die eine Festplatte benötigt, um auf sie zuzugreifen (laut einigen Artikeln, die ich gelesen habe), aber gleichzeitig müssten Sie eine haben WIRKLICH große Reihe, um den Unterschied bei Tausenden von Abfragen tatsächlich zu bemerken.

Eine gute Struktur hängt wirklich davon ab, WIE Sie sie verwenden müssen. Wenn Sie viele verschiedene Aggregatfunktionen ausführen, stellen Sie sicher, dass Sie über eine Tabelle verfügen, die dies zulässt. Wenn Sie nur wenige spezifische Abfragen benötigen, kann es sinnvoll sein, eine berichtsspezifische Tabelle zu erstellen, in der die Daten beispielsweise einmal täglich aggregiert werden.

Bearbeiten:Hinweise zur tatsächlichen Begrenzung der Zeilenanzahl:

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

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

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

Die InnoDB-Speicher-Engine scheint keine Begrenzung für die Anzahl der Zeilen zu haben, aber sie hat eine Begrenzung der Tabellengröße von 64 Terrabyte. Wie viele Zeilen hineinpassen, hängt von der Größe jeder Zeile ab.