整数の最大値は、テーブルに格納できる行の最大数とはほとんど関係がありません。
確かに、主キーとしてintまたはbigintを使用する場合、主キーのデータ型の一意の値の数と同じ数の行しか持つことができませんが、主キーを整数にする必要はありません。 、CHAR(100)にすることができます。複数の列で主キーを宣言することもできます。
行数以外にも、テーブルサイズには他の制約があります。たとえば、ファイルサイズに制限のあるオペレーティングシステムを使用できます。または、各行のサイズが1KBの場合、3億行しか保存できない300GBのハードドライブを使用することもできます。
データベースサイズの制限は非常に高いです:
http://dev.mysql.com/doc /refman/5.1/en/source-configuration-options.html
MyISAMストレージエンジンはテーブルごとに2行をサポートしますが、--with-big-tables
を使用してMySQLを構築できます。 テーブルごとに最大2行をサポートするオプション。
http://dev.mysql.com/doc/refman /5.1/en/innodb-restrictions.html
InnoDBストレージエンジンにはテーブルごとに6バイトの内部行IDがあるため、行の最大数は2または281,474,976,710,656になります。
InnoDBテーブルスペースにも、64テラバイトのテーブルサイズの制限があります。これに収まる行数は、各行のサイズによって異なります。
64TBの制限は、デフォルトのページサイズである16KBを想定しています。ページサイズを増やすことができるため、表領域を最大256TBまで増やすことができます。しかし、テーブルをそのサイズに成長させるずっと前に、他のパフォーマンス要因がこれをお勧めできないことに気付くと思います。