Перейти к содержимому

Фотография
- - - - -

Типичные ошибки с большими таблицами и нагрузками


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 FiRеFоX

FiRеFоX

    Завсегдатай

    Топикстартер
  • V.I.P.
  • 43
    739 сообщ.

Отправлено 04 Сентябрь 2013 в 10:09

1. Интересует вопрос о том, какие могут встретиться трудности в высоконагруженном(?) проекте (от 500+ обращений в секунду к сайту). Подводные камни, обращение к базе, возможно типичные и частые ошибки, сбои.. Тормоза.. Если у кого-то есть ссылка на статейку или опыт в таких проектах, то просьба поделиться тем, что пришлось устранять в ходе увеличения посещаемости.

2. Также тут на форуме в одной из тем сказали, что JOIN в запросах к базе это - ад :) Почему? Создал три таблицы по 1млн строк и установил индексы, сделал LEFT JOIN к ним всем. Не обнаружил сильной разницы между обычным запросом и запросом с JOIN'ом по скорости. Так почему их лучше избегать и стараться делать только "прямые" запросы?
  • 0

Спонсор

#2 CamaroSS

CamaroSS

    Частый гость

  • Участник
  • 52
    176 сообщ.

Отправлено 05 Сентябрь 2013 в 14:23

Джоинами можно и нужно пользоваться, главное - делать индексы на поля поиска/объединения и юзать EXPLAIN для каждого неочевидного запроса (таблицы, естественно, лучше всего заполнить текстовыми данными). Избегать filesort, хотя если временная папка где-нибудь в памяти сидит, то и это некритично,.. но лучше таки избегать.
Кстати, иногда для того, чтобы MySQL выбирал адекватный план выполнения с полями, содержащими NULL, необходимо в конфигурации выставлять (aria|myisam|innodb)_stats_method в nulls_equal.
  • 2



Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение
Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей