MySQL ist als Datenbank äußerst stabil und auch bei großen Datenmengen extrem schnell und effizient. Die Grenzen von MySQL liegen nicht so sehr in der Größe der Tabellen oder der Anzahl von Datensätzen, sondern in der Komplexität der Datenmodelle, die damit implementiert werden kann.
MySQL speichert Daten mit Index in Baumstrukturen. Auf diese Datenstrukturen kann mit logarithmischer Komplexität zugegriffen werden, d.h. für eine Tabelle mit n Datensätzen sind log(b,n) Zugriffe notwendig, bis der gesuchte Datensatz gefunden ist. b ist die Basis des Logarithmus. Wäre b gleich 2, dann wären zum Zugriff auf eine Tabelle mit 1.000 Datensätzen maximal 10, auf eine Tabelle mit 1.000.000 Datensätzen maximal 20 und auf eine Tabelle mit 1.000.000.000 maximal 30 Zugriffe notwendig, um einen beliebigen Zieldatensatz über den Index zu finden. Tatsächlich ist die Basis jedoch nicht 2, sondern weit größer. Sie ist abhängig von der internen Blockgröße der Datenbank und der mittleren Satzlänge in einem Index. Man kann annehmen, dass sie je nach Art der Daten zwischen 20 und 40 liegt. Damit wären zum Finden eines Datensatzes aus 1.000 Datensätzen maximal 3, aus 1.000.000 Datensätzen maximal 5 und aus 1.000.000.000 Datensätzen maximal 7 Vergleiche und Plattenzugriffe notwendig.
Entsprechend sind die Erfahrungen, die mit MySQL berichtet werden: Im Rahmen der Begrenzungen des Betriebssystems kommt MySQL mit beliebig großen Tabellen problemlos klar.
Übersicht über die maximalen MySQL-Tabellengrößen
in Verbindung mit den verschiedenen Betriebssystemen (Quelle: MySQL-Handbuch)
| Betriebssystem | max. Dateigröße |
|---|---|
| Win32 FAT | 2GB |
| Win32 FAT32 | 4GB |
| Win32 NTFS | 2TB |
| Linux 2.2-Intel 32-bit | 2GB |
| Linux 2.2-Intel 32-bit LFS | 4GB |
| Linux 2.4+ ext3 | 4TB |
| Solaris 9/10 | 16TB |
| MacOS X HFS+ | 2TB |
| NetWare NSS | 8TB |






