[MySQL] Скоросить работы в зависимосте от кодировки.

Статус
В этой теме нельзя размещать новые ответы.

antiadmin

Местный житель
Регистрация
24 Май 2008
Сообщения
395
Реакции
24
На одном сайте вебмастеров, а точнее на прочитал, что база данных в UTF-8 работает медленнее, это правда? если да, то на много ли, если учитывать, что база данных большая?
 
Правда, в юникоде все TEXT поля и varchar будут в 2 раза длинне, т.к. юникод под символ занимает от 1 до 4 байт.

если да, то на много ли, если учитывать, что база данных большая?

Не настолько сильно, чтобы менять кодировку. Если база тормозить, то пора задумыватся об ее оптимизации, нормализации. смена Кодировки это самое последнее что можно придумать.
 
  • Заблокирован
  • #3
еще имеет значение таблицы в innodb или в myisam
 
ну как бы при решении вопроса - стоит ли использовать UTF в конкретном проекте, поправки на быстродействие из-за мультибайта, принимать не следует. Если для вашего проекта UTF будет оправдана, именно его и юзайте.
мда, оптимизация, доп. индексы и т.д. это то, на что следует обратить внимание в первую очередь
 
Солидарен с luckydark. Сосредоточьте внимание на анализе long query, смотрите информацию об индексе в mytop, смотрите подсказки в pma. Еще есть скрипты mysql-tuner.sh, mysqltuner-primer.sh, первый даже есть в репозитории debian. Оба скрипта легко находятся в гугле. Сами они ничего не меняют, лишь показывают вам подсказки основываясь на логах и статистике запросов работающего сервера, помогают принимать решения в оптимизации конфига мускула.
Ну и не забывайте периодически оптимизировать таблицы:
Код:
# MyISAM
mysqlcheck --all-database --check --analyze --check-upgrade --optimize --repair --auto-repair --compress
# INNODB
mysqlcheck --all-database --check --analyze --check-upgrade --optimize --auto-repair --compress
 
кодировка cp1251 а сколько символ занимает байт?
 
1 байт занимает cp1251. Но действительно, увеличение затрат просто мизерное, особенно по сравнению с возможностью корректной работы с кучей языков.
 
Если взять базы большого размера без необходимости использовать множество языков, то быстрее будет работать национальная кодировка. Просто как минимум потому, что при равном размере выделенной памяти например cp1251 сможет держать почти в 2 раза больеш индексов в ней чем utf-8.
 
если база состоит из латиницы, то никакой разницы вообще не будет. латинские символы занимают по 1 байту.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху