[TYPO3-dev] improve "alias" indices on UTF8 sites

Martin Kutschker Martin.Kutschker at n0spam-blackbox.net
Tue Dec 5 11:28:52 CET 2006


R. van Twisk schrieb:
> Martin Kutschker wrote:
> 
>> No. All DBs that support UTF8 natively must allocate more than 
>> char-length for utf8 as it uses a variable byte length. I think that 
>> for performance reasons sort buffers use a fixed in-memory length. So 
>> this will be three times the char length for utf8. This memory is 
>> wasted but could be claimed for other queries as there is a maximum 
>> buffer size. So reducing the buffer size for one query will increase 
>> the overall performance for parallel queries.
> 
> It also depends how MySQL handles it internally, if every
> character set is converted to utf-8 prior the search, sort etc..
> then it might be a bit slower as well, I don't think this will
> happen but there might be to much going on internally.

I don't think it'll convert a latin1 field for sorting into utf8. On the 
contrary, you can cast the charset and collation explicitely. Only in this 
case a conversion will take place. Anything else doesn't make sense for me.

> To do a good test the index should be at least big enough
> to not fit into any of the MySQL buffers... so we can
> really see a performance difference. Doing operations
> one them (turn query cache of during the tests).

Right.

> When I look at the average MySQL installation I also
> don't think the average people will see a problem in this area
> unless they do a large number of joins and have large tables.

Yep, it's like Dmitry's InnoDB tunings only for large sites.

Masi




More information about the TYPO3-dev mailing list