View Single Post

   
  #3 (permalink)  
Old 04-29-2008, 08:27 PM
C.R.Vegelin
 
Posts: n/a
Default Re: why is explain.key-len not size of key field ?

----- Original Message -----
From: "Rob Wultsch" <wultsch@gmail.com>
To: "C.R.Vegelin" <cr.vegelin@hetnet.nl>
Cc: <mysql@lists.mysql.com>
Sent: Tuesday, April 29, 2008 2:24 PM
Subject: Re: why is explain.key-len not size of key field ?


> On Tue, Apr 29, 2008 at 5:12 AM, C.R.Vegelin <cr.vegelin@hetnet.nl> wrote:
>> Hi All,
>>
>> I have a dictionary table like:
>> CREATE TABLE IF NOT EXISTS `mydictionary`
>> (
>> `EN` varchar(36) default NULL,
>> `DE` varchar(36) default NULL,
>> `ES` varchar(36) default NULL,
>> `FR` varchar(36) default NULL,
>> `IT` varchar(36) default NULL,
>> `NL` varchar(36) default NULL,
>> `PT` varchar(36) default NULL,
>> KEY `EN` (`EN`),
>> KEY `DE` (`DE`),
>> KEY `ES` (`ES`),
>> KEY `FR` (`FR`),
>> KEY `IT` (`IT`),
>> KEY `NL` (`NL`),
>> KEY `PT` (`PT`)
>> ) ENGINE=MyISAM DEFAULT CHARSET = UTF8;
>>
>> When I run the query:
>> EXPLAIN SELECT `EN`, `FR` FROM `mydictionary`
>> WHERE `FR` Like "comp%" ORDER BY `FR`;
>>
>> EXPLAIN says:
>> select type = SIMPLE, type = range, key = FR,
>> key-len = 111, ref = NULL, extra = using where
>>
>> Any idea why key-len is 111 ?
>>
>> Thanks, Cor
>>

>
> Your using a multi byte character set.
>
> Rob Wultsch
> wultsch@gmail.com
>


Thanks Rob,

So key-len is expressed in bytes and not in characters.
But that means that each normal character (a..z) is 3 bytes in UTF8 ?

TIA, Cor


Reply With Quote