Największa wartość liczby całkowitej ma niewiele wspólnego z maksymalną liczbą wierszy, które można przechowywać w tabeli.
To prawda, że jeśli używasz int lub bigint jako klucza podstawowego, możesz mieć tyle wierszy, ile wynosi liczba unikalnych wartości w typie danych klucza podstawowego, ale nie musisz ustawiać klucza podstawowego na liczbę całkowitą , możesz zrobić z niego CHAR(100). Możesz również zadeklarować klucz podstawowy w więcej niż jednej kolumnie.
Oprócz liczby wierszy istnieją inne ograniczenia dotyczące rozmiaru tabeli. Na przykład możesz użyć systemu operacyjnego, który ma ograniczenie rozmiaru pliku. Możesz też mieć dysk twardy o pojemności 300 GB, który może przechowywać tylko 300 milionów wierszy, jeśli każdy wiersz ma rozmiar 1 KB.
Limity rozmiaru bazy danych są naprawdę wysokie:
http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html
Silnik pamięci masowej MyISAM obsługuje 2 wiersze na tabelę, ale możesz zbudować MySQL za pomocą --with-big-tables
opcja umożliwiająca obsługę do 2 wierszy na tabelę.
http://dev.mysql.com/doc/refman /5.1/pl/innodb-restrictions.html
Silnik pamięci masowej InnoDB ma wewnętrzny 6-bajtowy identyfikator wiersza na tabelę, więc maksymalna liczba wierszy wynosi 2, czyli 281447976710656.
Przestrzeń tabel InnoDB ma również ograniczenie rozmiaru tabeli do 64 terabajtów. Ile wierszy się w tym mieści, zależy od rozmiaru każdego wiersza.
Limit 64 TB zakłada domyślny rozmiar strony 16 KB. Możesz zwiększyć rozmiar strony, a tym samym zwiększyć obszar tabel do 256 TB. Ale myślę, że inne czynniki wydajności sprawiają, że jest to niewskazane na długo przed zwiększeniem stołu do tego rozmiaru.