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

Reply via email to