PostgreSQL na SuSE 8.1 - české třídění

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Leden 14 12:19:36 CET 2003


On Tue, 14 Jan 2003, Krištof Petr wrote:

> > unicode znamena penalizaci vykonu, protoze nelze porovnavat jednotlive
> > bajty a musi se pocitat s vicebajtovymi znaky. Reseni je to tedy hezke,
> > ale ma to sva "ALE".
> > 
> 
> Tyka se to i UTF-16?

Ano tyka, protoze nektere znaky se musi zapsat jako dva kody v UTF-16
(Unicode / ISO 10646-1 obsahuje kody 0 az 2^20 + 2^16 - 1).

Nicmene na druhou stranu je treba rict, ze prime porovnani retezcu na
rovnost lze provest i bez dekodovani UTF-8 (ci UTF-16) (*), pomerne dobre
by bylo mozno i optimalizovat regularni vyrazy (absurdne by asi nejvetsi
problemy pusobilo samostatne "." cili jeden libovolny znak, protoze to by
se muselo transformovat v "[ASCII nebo uvodni UTF bajt][nasledny UTF
bajt]*"). Porovnavani pro ucely hledani poradi je pak v nasich zemepisnych
sirkach uz z principu tak komplikovana zalezitost, ze bych dodatecnou
rezii na dekodovani UTF-8 nevidel nijak tragicky.

(*) Pochopitelne tim vyoptimalizuju i test, zda se jedna o korektni
sekvence bajtu.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux