Steve,

> mysql> create table t2 (c1 varchar(255));
> Query OK, 0 rows affected (0.00 sec)
> mysql> insert into t2 values ('s');
> Query OK, 1 row affected (0.00 sec)

> And this gave table status of
>             Name: t2
>             Type: MyISAM
>       Row_format: Dynamic
>             Rows: 1
>   Avg_row_length: 20

Well, isn't the row length supposed to be 2 (not 20)? I mean 1 byte for
the character 's', plus 1 byte to store the length.

BTW, the manual doesn't say anything about "internal uses" of additional
bits/bytes, AFAIK. Thanks anyway.

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: "Steve Edberg" <[EMAIL PROTECTED]>
To: "Stefan Hinz" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, January 15, 2003 2:18 PM
Subject: Re: Avg_row_length


> Yep, you're right!
>
> Perhaps an extra byte is automatically reserved, not only for a
> null/not null status bit, but also for other internal use - eg; a
> 'row changed' bit, etc.
>
> I did a quick test:
>
> mysql> create table t2 (c1 varchar(255));
> Query OK, 0 rows affected (0.00 sec)
>
> mysql> insert into t2 values ('s');
> Query OK, 1 row affected (0.00 sec)
>
> And this gave table status of
>
>             Name: t2
>             Type: MyISAM
>       Row_format: Dynamic
>             Rows: 1
>   Avg_row_length: 20
>      Data_length: 20
> Max_data_length: 4294967295
>     Index_length: 1024
>        Data_free: 0
>   Auto_increment: NULL
>
> so obviously the avg_row_length includes extra bytes for mysql
internal info.
>
> Learn something every day!
>
> -steve
>
>
> At 1:03 PM +0100 1/15/03, you wrote:
> >Steve,
> >
> >>  I believe there is an extra byte for the 'null' flag; if you
declare
> >>  this column to be NOT NULL, I'll bet the avg length will be 10.
> >
> >nice bet, but you lose <g>:
> >
> >mysql> DESCRIBE mynotnullisam;
> >+-------+----------+------+-----+---------+-------+
> >| Field | Type     | Null | Key | Default | Extra |
> >+-------+----------+------+-----+---------+-------+
> >| col   | char(10) |      |     |         |       |
> >+-------+----------+------+-----+---------+-------+
> >1 row in set (0.16 sec)
> >
> >mysql> SHOW TABLE STATUS LIKE 'mynotnullisam';
>
>+---------------+--------+------------+------+----------------+--------
-
> >----+
> >| Name          | Type   | Row_format | Rows | Avg_row_length |
> >Data_length |
>
>+---------------+--------+------------+------+----------------+--------
-
> >----+
> >| mynotnullisam | MyISAM | Fixed      |    3 |             11 |
> >33 |
>
>+---------------+--------+------------+------+----------------+--------
-
> >----+
> >
>
>
> --
>
+-----------------------------------------------------------------------
-+
> | Steve Edberg
[EMAIL PROTECTED] |
> | University of California, Davis
(530)754-9127 |
> | Programming/Database/SysAdmin
http://pgfsun.ucdavis.edu/ |
>
+-----------------------------------------------------------------------
-+
> | SETI@Home: 1001 Work units on 23 oct 2002
|
> | 3.152 years CPU time, 3.142 years SETI user... and STILL no
aliens...  |
>
+-----------------------------------------------------------------------
-+


---------------------------------------------------------------------
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