Оптимизация работы с MySQL (О некоторых возможностях уменьшения нагрузки на БД) Основная секция
Тезисы
Мастер-класс «Оптимизация работы с MySQL»/ Василий Степанов (Begun)
Тезисы
Хочу рассказать про то, как можно минимизировать количество запросов (и для чего и когда нужно), какие ключи надо создавать и для чего. Рассмотреть стадии обработки селектов и рассказать, как можно избавляться от неприятных последствий с помощью индексов. Рассказать про изменяющие запросы, про то, насколько множественные запросы быстрее одиночных. Реализация multiple update. Ну и вообще по мотивам (http://pilll.livejournal.com/6119. html) прийти к высказыванию «В хорошо спроектированной системе для изменения таблицы может понадобиться не более одного deleta и не более одного insert on duplicate key updata в рамках одной транзакции». Это реализуется собиранием изменяющих запросов, не влияющих на дальнейшую работу процесса, с последующей их догруппировкой и выполнением непосредственно перед коммитом. К вопросу о селектах также рассмотреть group by в базе vs группировка в процессе (так же с картинками) и ещё некоторые сравнения, показывающие, когда нужно использовать базы данных, а когда не нужно.
Рассказ про селекты планирую строить на принципе понятной интуитивной выводимости, т.е. если нарисовать хорошую схему про то, что такое ключи и как они связаны с таблицей и постоянно о ней думать (что, как показывает практика, делает очень малая часть программистов), то можно на нескольких примерах понять как всё это работает и как надо создавать ключи для каких типов запросов.
Целевая аудитория
Доклад будет ориентирован на слушателей практически любой квалификации.О докладчике
Василий Степанов, системный архитектор компании «Бегун», любитель различных экспериментов и исследований, в основном связанных с MySQL. Большой опыт проектирования и написания приложений, рассчитанных на высокую нагрузку.
Контакты: vstepanov@begun.ru