sql >> Databáze >  >> RDS >> Mysql

UTF-8:Obecné? Zásobník? Unicode?

Obecně utf8_general_ci je rychlejší než utf8_unicode_ci , ale méně správné.

Zde je rozdíl:

U jakékoli znakové sady Unicode jsou operace prováděné pomocí řazení _general_ci rychlejší než operace s řazením _unicode_ci . Například srovnání pro utf8_general_ci řazení jsou rychlejší, ale o něco méně správné, než srovnání pro utf8_unicode_ci. Důvodem je to, že utf8_unicode_ci podporuje mapování, jako jsou expanze; to znamená, když se jeden znak srovnává s kombinacemi jiných znaků. Například v němčině a některých dalších jazycích se „ß“ rovná „ss“. utf8_unicode_ci také podporuje kontrakce a ignorovatelné znaky. utf8_general_ci je starší řazení, které nepodporuje expanze, kontrakce nebo ignorovatelné znaky. Mezi postavami může provádět pouze srovnání jedna ku jedné.

Citováno z:http://dev.mysql. com/doc/refman/5.0/en/charset-unicode-sets.html

Pro podrobnější vysvětlení si prosím přečtěte následující příspěvek z fóra MySQL:http:/ /forums.mysql.com/read.php?103,187048,188748

Pokud jde o utf8_bin:Oba utf8_general_ci a utf8_unicode_ci provádět srovnání bez ohledu na velikost písmen. Naproti tomu utf8_bin rozlišuje malá a velká písmena (mimo jiné rozdíly), protože porovnává binární hodnoty znaků.



  1. Implementace zpracování chyb a transakcí na serveru SQL Server

  2. Jak vytvořit uložené procedury v SQL?

  3. Efektivní monitorování replikace MySQL pomocí řídicích panelů SCUMM:Část 2

  4. Jak převést desítkové na šestnáctkové pomocí TO_CHAR() v Oracle