Оптимизация запросов с помощью индексов

Опубликовано: 15.12.2017

видео Оптимизация запросов с помощью индексов

4. Проектирование СУБД. Оптимизация запросов и индексирование | Технострим

Оглавление

Введение

Данная статья рассматривает вопросы создания предсказуемых индексов. С точки зрения теории индекс Z является предсказуемым, если ясно, как изменится план/скорость выполнения запроса X, если в таблице Y добавить/удалить/изменить индекс Z. Задача этой статьи — научить предсказывать поведение сервера, а точнее оптимизатора запросов, при манипуляциями с индексами таблиц.



Версия MySQL

В данной статье раскрываются в основном особенности MySQL 4.0. Все примеры, которые приведены без указания версии сервера, относятся к MySQL 4.0.26. Очень жаль, но руководство на Русском языке доступно только для версий серии 4.0, но так как эта серия больше не поддерживается, то он-лайн просмотр документации не доступен. Ссылки были поправлены на английскую документацию версии 4.1.


11. Базы данных. MongoDB. Построение запросов, оптимизация, индексирование | Технострим

Когда вам понадобятся эти знания

Прочитав статью, не надо убивать часы на оптимизацию всех возможных запросов в вашей системе. Попробуем вывести ряд критериев для получения списка запросов, подлежащих оптимизации в первую очередь:

время выполнения запроса  — данный критерий актуален в любое время, собрать статистику можно с помощью журнала регистрации медленных запросов ; во многих случаях объемы данных определяют план выполнения запроса и выбор используемых индексов, даже не столько сами объемы, сколько соотношение объемов отдельных таблиц, так что данные должны быть актуальны , то есть вы должны знать (предполагать), сколько записей в одной таблице приходится на одну запись в другой таблице: чаще ноль, всегда одна, в среднем десять, миллион и более; идеальных решений не бывает, добавляя новый индекс вы увеличиваете время изменения записей в таблице, так что не оптимизируйте все подряд ; проектируя новую БД , воспользуйтесь стандартным набором решений по созданию индексов #SslyilkaNaGlavu .

Инструментарий

Запросы

Сервер поддерживает ряд запросов, предназначеных для управления индексами и анализа эффективности их использования.

rss