Vahid Ghafarpour's Blog

نكات جالب از نظر وحيد غفارپور!

Tuesday, January 2, 2007

The table is full in mysql

You are using a MyISAM table and the space required for the table exceeds what is allowed by the internal pointer size. If you don't specify the MAX_ROWS table option when you create a table, MySQL uses the myisam_data_pointer_size system variable. From MySQL 5.0.6 on, the default value is 6 bytes, which is enough to allow 256TB of data. Before MySQL 5.0.6, the default value is 4 bytes, which is enough to allow only 4GB of data. See Section 5.2.2, “Server System Variables”.

I use (it will apply for new tables on myisam):
set @@global.myisam_data_pointer_size=5;

4 : 4GB (below 5.0.6 default value)
5 : 1TB (My value)
6 : 256TB (above 5.0.6 default value)

or using MAX_ROWS
alter table table name MAX_ROWS=100000000

http://mysql.speedbone.de/doc/refman/5.0/en/full-table.html

http://mysql.speedbone.de/doc/refman/5.0/en/server-system-variables.html

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home