O maior valor de um inteiro tem pouco a ver com o número máximo de linhas que você pode armazenar em uma tabela.
É verdade que, se você usar um int ou bigint como sua chave primária, poderá ter apenas tantas linhas quanto o número de valores exclusivos no tipo de dados de sua chave primária, mas não precisará tornar sua chave primária um número inteiro , você poderia torná-lo um CHAR(100). Você também pode declarar a chave primária em mais de uma coluna.
Existem outras restrições no tamanho da tabela além do número de linhas. Por exemplo, você pode usar um sistema operacional que tenha uma limitação de tamanho de arquivo. Ou você pode ter um disco rígido de 300 GB que pode armazenar apenas 300 milhões de linhas se cada linha tiver 1 KB de tamanho.
Os limites do tamanho do banco de dados são realmente altos:
http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html
O mecanismo de armazenamento MyISAM suporta 2 linhas por tabela, mas você pode construir o MySQL com o
--with-big-tables
opção para fazê-lo suportar até 2 linhas por tabela. http://dev.mysql.com/doc/refman /5.1/en/innodb-restrictions.html
O mecanismo de armazenamento InnoDB possui um ID de linha interno de 6 bytes por tabela, portanto, há um número máximo de linhas igual a 2 ou 281.474.976.710.656.
Um tablespace InnoDB também tem um limite de tamanho de tabela de 64 terabytes. Quantas linhas cabem neste depende do tamanho de cada linha.
O limite de 64 TB assume o tamanho de página padrão de 16 KB. Você pode aumentar o tamanho da página e, portanto, aumentar o espaço de tabela em até 256 TB. Mas acho que você descobriria que outros fatores de desempenho tornam isso desaconselhável muito antes de você aumentar uma mesa para esse tamanho.