max_data_length trouble with dynamic vs fixed row_format
Posted by:
Benny Pei
Date: June 27, 2005 07:52PM
The following are two create table statements. The first table returns max data length as 4TB but the second one returns 1TB. Could someone explain to me why the max_data_length are different? Can I have 4TB max data length in the second create table statement using dynamic row_format?
CREATE TABLE `test_char` (
`ixtest` int(9) NOT NULL auto_increment,
`ixEvent` mediumint(9) NOT NULL default '0',
`sdll` char(255) NOT NULL default '0',
`sobject` char(255) default NULL,
`sptr` char(20) NOT NULL default '0',
`ssymbl` char(255) NOT NULL default '0',
`soffset` char(25) NOT NULL default '0',
`sversion` char(255) NOT NULL default '0',
`ixtestnumber` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`ixtest`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=1000000000
AVG_ROW_LENGTH=100 ROW_FORMAT=FIXED
CREATE TABLE `test_varchar` (
`ixtest` int(9) NOT NULL auto_increment,
`ixEvent` mediumint(9) NOT NULL default '0',
`sdll` varchar(255) NOT NULL default '0',
`sobject` varchar(255) default NULL,
`sptr` varchar(20) NOT NULL default '0',
`ssymbl` varchar(255) NOT NULL default '0',
`soffset` varchar(25) NOT NULL default '0',
`sversion` varchar(255) NOT NULL default '0',
`ixtestnumber` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`ixtest`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MAX_ROWS=1000000000
AVG_ROW_LENGTH=100 ROW_FORMAT=DYNAMIC