>>>>> "Thierack" == Thierack Ingo <thierack@stripped> writes:
Thierack> Hello,
Thierack> if i create a table with the new MYISAM the filesize is limited to 2GB (with
> option
Thierack> "MAX_ROWS=13000000 AVG_ROW_LENGTH=1900").
Thierack> with old ISAM i can create tables with more then 4 GB without problems.
Thierack> How can i get more then 2GB filesize with MYISAM-Tables.
Thierack> System : Solaris 7 x86
Thierack> Compiler : gcc-2.95.1
Thierack> Mysql : 3.23.4-alpha
Hi!
Note that the old ISAM will not work properly with tables > 4G
(It only uses a 4 byte pointer to data)
There seams to be a bug in the new MyISAM when it reports the maxiumn
data file length, but it creates the table ok!
Here is a test of this:
mysql> create table t1 (a int, b blob) MAX_ROWS=13000000 AVG_ROW_LENGTH=1900;
Query OK, 0 rows affected (0.17 sec)
mysql> show table status like "t1";
+------+--------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+---------------------------------------+---------+
| Name | Type | Row_format | Rows | Avg_row_length | Data_length | Max_data_length |
Index_length | Data_free | Auto_increment | Create_time | Update_time |
Check_time | Create_options | Comment |
+------+--------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+---------------------------------------+---------+
| t1 | MYISAM | Dynamic | 0 | 0 | 0 | 4294967295 |
1024 | 0 | NULL | 1999-10-07 01:59:21 | 1999-10-07 01:59:21 | NULL
| max_rows=13000000 avg_row_length=1900 | |
+------+--------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+---------------------------------------+---------+
$shell myisamchk -dv t1
MYISAM file: t1
Record format: Packed
File-version: 1
Creation time: 1999-10-07 1:59:21
Status: checked
Data records: 0 Deleted blocks: 0
Datafile parts: 0 Deleted data: 0
Datafile pointer (bytes): 5 Keyfile pointer (bytes): 3
Datafile length: 0 Keyfile length: 1024
Max datafile length: 1099511627774 Max keyfile length: 17179868159
Recordlength: 15
table description:
Key Start Len Index Type Rec/key Root Blocksize
As you can see, the 'Max datafile length' is big enough.
I have fixed the output of 'show table status' for the next MySQL release.
Regards,
Monty
| Thread |
|---|
| • Filesize on Solaris 7 X86 | Michael Widenius | 7 Oct |