MySQL Version 3.22 has a 4G limit on table size. With the newMyISAM in MySQL Version 3.23 the maximum table size ispushed up to 8 million terabytes (2 ^ 63 bytes).
Note, however, that operating systems have their own file sizelimits. Here are some examples:
Operating System File Size Limit
Linux-Intel 32 bit - 2G, 4G or more, depends on Linux version
Linux-Alpha - 8T (?)
Solaris 2.5.1 - 2G (possible 4G with patch)
Solaris 2.6 - 4G
Solaris 2.7 - Intel 4G
Solaris 2.7 - ULTRA-SPARC 8T (?)
On Linux 2.2 you can get bigger tables than 2G by using the LFS patch forthe ext2 file system. On Linux 2.4 there exists also patches for ReiserFSto get support for big files.
This means that the table size for MySQL is normally limited bythe operating system.
By default, MySQL tables have a maximum size of about 4G. You cancheck the maximum table size for a table with the SHOW TABLE STATUScommand or with the myisamchk -dv table_name.
If you need bigger tables than 4G (and your operating system supportsthis), you should set the AVG_ROW_LENGTH and MAX_ROWSparameter when you create your table. See section 7.7 CREATE TABLE Syntax. You canalso set these later with ALTER TABLE.
If your big table is going to be read-only, you could usemyisampack to merge and compress many tables to one.myisampack usually compresses a table by at least 50%, so you canhave, in effect, much bigger tables.
You can go around the operating system file limit for MyISAM datafiles by using the RAID option.
Another solution can be the included MERGE library, which allows you tohandle a collection of identical tables as one.