MOLDSQL - информационный ресурс, посвящённый учёбе работы с базами данных SQL
Консультации по настройке SQL
«Заставьте это выполняться быстрее!» — такое требование можно довольно часто услышать от пользователей систем баз данных. Администраторы и разработчики проводят бесконечно долгие часы, пытаясь улучшить производительность своих приложений баз данных. А поскольку в основе любого подобного приложения лежат запросы SQL, улучшение производительности часто упрощается до задачи настройки одного или нескольких запросов, чтобы гарантировать, что они получают доступ к данным самым быстрым путём. Для настройки медленного оператора SQL вам необходимо знать ответы на три вопроса:
Как найти и интерпретировать план исполнения оператора SQL?
Как изменить SQL, чтобы получить определённый альтернативный план исполнения?
Как решить, какого плана исполнения должен придерживаться запрос?
Множество книг обсуждают вопрос настройки SQL Большинство из них дают прекрасные ответы на первые два вопроса, но оставляют третий, возможно, самый важный вопрос как упражнение для читателей! Поэтому многие профессионалы считают настройку операторов SQL тщетным повторением метода проб и ошибок, совершенно не представляя, как узнать, был ли достигнут оптимальный или близкий к оптимальному план исполнения.
В книге Настройка SQL Дэн Toy описывает основанный на диаграммах метод настройки операторов SQL Этот метод не является итеративным или повторяющимся, он скорее детерминистический: вы должны однажды последовать хорошо определённому процессу — и тогда в конце процесса вы точно узнаете оптимальный или близкий к оптимальному план исполнения для рассматриваемого оператора. Бы не только быстро получите оптимальный план исполнения, но за один проход также убедитесь, что этот план действительно является оптимальным. Это чрезвычайно важно, так как позволяет точно понять, когда уже можно прекратить тратить время на попытки улучшить исполнение оператора SQL и поиск улучшений другими способами, например путем изменения индексов, дизайна базы данных или приложения, использующего SQL.
Если когда-либо вы ловили себя на том, что таращитесь на сложный оператор SQL, гадая, как заставить его выполняться быстрее, — а в действительности желая знать, можно ли вообще заставить этот оператор выполняться быстрее, — пока пользователи приложения и, возможно, ваш начальник дышали огнём вам в затылок, то вы просто обязаны купить эту книгу и прочитать её. Ваши затраты возместятся сторицей по мере того, как вы позабудете про свои былые неудачи, а опыт и успех в настройке SQL заметно возрастут.



