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

Тема в разделе "Базы данных", создана пользователем antiadmin, 14 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. antiadmin

    antiadmin

    Регистр.:
    24 май 2008
    Сообщения:
    395
    Симпатии:
    23
    На одном сайте вебмастеров, а точнее на http://cyber-systems.net/blog/cybsysnet/2.html#comment5 прочитал, что база данных в UTF-8 работает медленнее, это правда? если да, то на много ли, если учитывать, что база данных большая?
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Правда, в юникоде все TEXT поля и varchar будут в 2 раза длинне, т.к. юникод под символ занимает от 1 до 4 байт.

    Не настолько сильно, чтобы менять кодировку. Если база тормозить, то пора задумыватся об ее оптимизации, нормализации. смена Кодировки это самое последнее что можно придумать.
     
    antiadmin нравится это.
  3. oxyqh

    oxyqh Читатель

    Заблокирован
    Регистр.:
    28 апр 2009
    Сообщения:
    18
    Симпатии:
    0
    еще имеет значение таблицы в innodb или в myisam
     
  4. luckydark

    luckydark Создатель

    Регистр.:
    27 ноя 2008
    Сообщения:
    26
    Симпатии:
    5
    ну как бы при решении вопроса - стоит ли использовать UTF в конкретном проекте, поправки на быстродействие из-за мультибайта, принимать не следует. Если для вашего проекта UTF будет оправдана, именно его и юзайте.
    мда, оптимизация, доп. индексы и т.д. это то, на что следует обратить внимание в первую очередь
     
  5. LLIbIcpEP

    LLIbIcpEP Создатель

    Регистр.:
    7 май 2008
    Сообщения:
    19
    Симпатии:
    2
    Солидарен с 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
     
  6. badim2010

    badim2010 Создатель

    Регистр.:
    11 мар 2010
    Сообщения:
    12
    Симпатии:
    1
    кодировка cp1251 а сколько символ занимает байт?
     
  7. den987

    den987 Создатель

    Регистр.:
    27 май 2009
    Сообщения:
    18
    Симпатии:
    2
    1 байт занимает cp1251. Но действительно, увеличение затрат просто мизерное, особенно по сравнению с возможностью корректной работы с кучей языков.
     
    badim2010 нравится это.
  8. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.378
    Если взять базы большого размера без необходимости использовать множество языков, то быстрее будет работать национальная кодировка. Просто как минимум потому, что при равном размере выделенной памяти например cp1251 сможет держать почти в 2 раза больеш индексов в ней чем utf-8.
     
  9. Юрик

    Юрик Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    74
    Симпатии:
    2
    если база состоит из латиницы, то никакой разницы вообще не будет. латинские символы занимают по 1 байту.
     
Статус темы:
Закрыта.