Предимства на UTF8:
-
Поддържа повечето езици, включително RTL езици, като иврит.
-
Не е необходим превод при импортиране/експортиране на данни към компоненти, поддържащи UTF8 (JavaScript, Java и др.).
Недостатъци на UTF8:
-
Не-ASCII знаците ще отнеме повече време за кодиране и декодиране, поради тяхната по-сложна схема за кодиране.
-
Не-ASCII знаците ще заемат повече място, тъй като могат да бъдат съхранени с повече от 1 байт (символи, които не са в първите 127 знака от набора ASCII знаци). A
CHAR(10)илиVARCHAR(10)полето може да се нуждае от до 30 байта, за да съхранява някои UTF8 символи. -
Съпоставяния, различни от
utf8_binще бъде по-бавно, тъй като редът на сортиране няма да се съпостави директно с реда на кодиране на знаци и ще изисква превод в някои съхранени процедури (като променливи по подразбиране саutf8_general_ciсъпоставяне). -
Ако трябва да
JOINUTF8 и не-UTF8 полета, MySQL ще наложи ТЕЖКО хит на производителността. Това, което биха били заявки под секунда, потенциално може да отнеме минути ако присъединените полета са различни набори от знаци/съпоставяне.
Долен ред:
Ако не е необходимо да поддържате езици, различни от Latin1, искате да постигнете максимална производителност или вече имате таблици, използващи latin1 , изберете latin1 .
В противен случай изберете UTF8 .