Sergei, >> any other guru who can explain why 10 = 11?
> It's because of NULLs. > Extra byte is used to mark, if the column is NULL or not. Thanks alot for the explanation. Thanks to Gerald Clark, too, who told me the same. > (in fact it's a bitmap, that is it would be one byte for up to 8 > columns, then it'll be 2 bytes, etc.) If so, this table should have an average row length of 92, not 91, shouldn't it (9 cols * 10 bytes + 2 bytes)? MySQL>DESCRIBE myrowisam; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | col1 | char(10) | | | | | | col2 | char(10) | | | | | | col3 | char(10) | | | | | | col4 | char(10) | | | | | | col5 | char(10) | | | | | | col6 | char(10) | | | | | | col7 | char(10) | | | | | | col8 | char(10) | | | | | | col9 | char(10) | | | | | +-------+----------+------+-----+---------+-------+ MySQL>SELECT * FROM myrowisam; +------+------+------+------+------+------+------+------+------+ | col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 | col9 | +------+------+------+------+------+------+------+------+------+ | foo | foo | foo | foo | foo | foo | foo | foo | foo | +------+------+------+------+------+------+------+------+------+ MySQL>SHOW TABLE STATUS LIKE 'myrowisam'; +-----------+--------+------------+------+----------------+ | Name | Type | Row_format | Rows | Avg_row_length | +-----------+--------+------------+------+----------------+ | myrowisam | MyISAM | Fixed | 1 | 91 | +-----------+--------+------------+------+----------------+ Regards, -- Stefan Hinz <[EMAIL PROTECTED]> Geschäftsführer / CEO iConnect GmbH <http://iConnect.de> Heesestr. 6, 12169 Berlin (Germany) Tel: +49 30 7970948-0 Fax: +49 30 7970948-3 ----- Original Message ----- From: "Sergei Golubchik" <[EMAIL PROTECTED]> To: "Stefan Hinz" <[EMAIL PROTECTED]> Cc: "Keith C. Ivey" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, January 16, 2003 9:16 PM Subject: Re: Avg_row_length > Hi! > > On Jan 16, Stefan Hinz wrote: > > Keith, > > > > thanks once again! Well, anyone here from the MySQL developer team? Or > > any other guru who can explain why 10 = 11? > > > > Here's the problem once again: > > > > mysql> DESCRIBE myrowisam; > > +-------+----------+------+-----+---------+-------+ > > | Field | Type | Null | Key | Default | Extra | > > +-------+----------+------+-----+---------+-------+ > > | col | char(10) | YES | MUL | NULL | | > > +-------+----------+------+-----+---------+-------+ > > mysql> SHOW TABLE STATUS LIKE 'myrowisam'; > > +-----------+--------+------------+------+----------------+ > > | Name | Type | Row_format | Rows | Avg_row_length | > > +-----------+--------+------------+------+----------------+ > > | myrowisam | MyISAM | Fixed | 109 | 11 | > > +-----------+--------+------------+------+----------------+ > > > > Regards, > > -- > > Stefan Hinz <[EMAIL PROTECTED]> > > Gesch?ftsf?hrer / CEO iConnect GmbH <http://iConnect.de> > > Heesestr. 6, 12169 Berlin (Germany) > > Tel: +49 30 7970948-0 Fax: +49 30 7970948-3 > > It's because of NULLs. > Extra byte is used to mark, if the column is NULL or not. > > (in fact it's a bitmap, that is it would be one byte for up to 8 > columns, then it'll be 2 bytes, etc.) > > Regards, > Sergei > > -- > MySQL Development Team > __ ___ ___ ____ __ > / |/ /_ __/ __/ __ \/ / Sergei Golubchik <[EMAIL PROTECTED]> > / /|_/ / // /\ \/ /_/ / /__ MySQL AB, http://www.mysql.com/ > /_/ /_/\_, /___/\___\_\___/ Osnabrueck, Germany > <___/ --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php