Mysql
 sql >> база данни >  >> RDS >> Mysql

utf-8 срещу latin1

Предимства на UTF8:

  1. Поддържа повечето езици, включително RTL езици, като иврит.

  2. Не е необходим превод при импортиране/експортиране на данни към компоненти, поддържащи UTF8 (JavaScript, Java и др.).

Недостатъци на UTF8:

  1. Не-ASCII знаците ще отнеме повече време за кодиране и декодиране, поради тяхната по-сложна схема за кодиране.

  2. Не-ASCII знаците ще заемат повече място, тъй като могат да бъдат съхранени с повече от 1 байт (символи, които не са в първите 127 знака от набора ASCII знаци). A CHAR(10) или VARCHAR(10) полето може да се нуждае от до 30 байта, за да съхранява някои UTF8 символи.

  3. Съпоставяния, различни от utf8_bin ще бъде по-бавно, тъй като редът на сортиране няма да се съпостави директно с реда на кодиране на знаци и ще изисква превод в някои съхранени процедури (като променливи по подразбиране са utf8_general_ci съпоставяне).

  4. Ако трябва да JOIN UTF8 и не-UTF8 полета, MySQL ще наложи ТЕЖКО хит на производителността. Това, което биха били заявки под секунда, потенциално може да отнеме минути ако присъединените полета са различни набори от знаци/съпоставяне.

Долен ред:

Ако не е необходимо да поддържате езици, различни от Latin1, искате да постигнете максимална производителност или вече имате таблици, използващи latin1 , изберете latin1 .

В противен случай изберете UTF8 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Алтернативи на pt-query-digest - MySQL управление на заявки и наблюдение с ClusterControl

  2. Бягство на MySQL заместващи карти

  3. Присъединяване към MySQL срещу ИЗПОЛЗВАНЕ?

  4. Не можа да се зареди файл или сборка 'MySql.Data, версия=6.2.2.0

  5. изтрийте с помощта на where и или