This is a little note from Luca Pescatore about table size limits 
with MySQL with different systems. 


========================================================================
Date: Sun, 12 Mar 2000 13:29:05 +0100
From: Luca Pescatore <l.pescatore@network.it>
To: e9625460@stud3.tuwien.ac.at
Subject: MySQL Limit

Hi,
         as in your site : "The only disadvantage i face is that database 
grows very fast. And the 2gig limit for a mysql-table under linux. Solaris 
2.5.1 allows 4gig and Solaris 2.6 1000gigs. More info in the MySQL manual. 
But i think thats enough for small sites. ".

Now MySQL Ver. 3.23. From MySQL Manual :

MySQL 3.22 has a 4G limit on table size. With the new MyISAM in MySQL 3.23 
the maximum table size is pushed up to 8 million terabytes (2 ^ 63 bytes).
Note however that operating systems have their own file size limits. Here 
are some examples:
Linux-Intel 2G (or 4G with reiserfs)
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 (?)
This means that the table size for MySQL is normally limited by the 
operating system.

By default, MySQL tables have a maximum size of about 4G. You can check the 
maximum table size for a table with the SHOW TABLE STATUS command or with 
the myisamchk -dv table_name. See section 7.21 SHOW syntax (Get information 
about tables, columns,...).

If you need bigger tables than 4G (and your operating system supports 
this), you should set the AVG_ROW_LENGTH and MAX_ROWS parameter when you 
create your table. See section 7.7 CREATE TABLE syntax. You can also set 
these later with ALTER TABLE. See section 7.8 ALTER TABLE syntax.

If you need to have bigger tables than 2G / 4G
If your big table is going to be read-only, you could use myisampack to 
merge and compress many tables to one. myisampack usually compresses a 
table by at least 50%, so you can have, in effect, much bigger tables. See 
section 13.7 The MySQL compressed read-only table generator.
Another solution can be the included MERGE library, which allows you to 
handle a collection of identical tables as one. (Identical in this case 
means that all tables are created with identical column information.) 
Currently MERGE can only be used to scan a collection of tables because it 
doesn't support indexes. We will add indexes to this in the near future.


Best Regards,
         Luca Pescatore
