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

Статус
Закрыто для дальнейших ответов.

FiRеFоX

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

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

CamaroSS

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