Skip to content

Причины скачков производительности запроса в SQL Server

Пересказ статьи Aaron Bertrand. Reasons for SQL Server Query Performance Fluctuations


Производительность запроса может испытывать скачки с течением времени, и это не обязательно обусловлено изменениями в самом запросе (или в коде приложения, которое его вызывает). Пользователи часто спрашивают, почему запрос внезапно стал работать медленнее, хотя они ничего не меняли в приложении, а данные не изменялись резко. В этой статье мы укажем на несколько причин - их существует много - по которым запрос мог замедлиться сегодня по сравнению с тем, что было 10 минут назад, две недели назад, или прошлым летом.

Прежде чем вникать в возможные причины скачков производительности, давайте сделаем обзор того, что происходит в SQL Server при обработке запросов.

Продолжить чтение "Причины скачков производительности запроса в SQL Server"

Индексы PostgreSQL: что это такое и как они могут помочь

Пересказ статьи Henrietta Dombrovskaya. PostgreSQL Indexes: What They Are and How They Help


В предыдущей статье этой серии мы узнали, как произвести, прочитать и интерпретировать планы выполнения. Мы узнали, что план выполнения предоставляет информацию о методах доступа, которые PostgreSQL использует для выборки записей из базы данных. В частности, мы видели, что в некоторых случаях PostgreSQL использовал последовательное сканирование, а в некоторых - доступ на основе индекса.

Кажется, что было бы неплохо поговорить об индексах до обсуждения планов выполнения, но планы запросов - это хорошее место для начала движения в сторону решения проблем производительности! Здесь мы собираемся поговорить об индексах, зачем они нам нужны, как они могут нам помочь, и как они могут усугубить ситуацию.
Продолжить чтение "Индексы PostgreSQL: что это такое и как они могут помочь"

Нормализуйте строки для оптимизации пространства и поиска

Пересказ статьи Aaron Bertrand. Normalize strings to optimize space and searches


Эта статья написана для SQL Server, однако эти понятия применимы к любой платформе реляционных баз данных.

Социальная сеть Stack Exchange журнализует большой веб-трафик - даже в сжатом виде мы в среднем имеем свыше терабайта в месяц. И это всего лишь суммарный срез наших общих необработанных данных журнала, который мы загружаем в базу данных для обеспечения безопасности и аналитических целей. На каждый месяц имеется своя собственная таблица, позволяя использовать скользящие окна секционного типа и селективные индексы без дополнительных ограничений и накладных расходов на обслуживание. (Taryn Pratt рассказывает об этих таблицах весьма подробно в своей статье Migrating a 40TB SQL Server Database.)
Продолжить чтение "Нормализуйте строки для оптимизации пространства и поиска"

Что такое план выполнения и как его найти в PostgreSQL

Пересказ статьи Henrietta Dombrovskaya. What Is an Execution Plan and How to Find It in PostgreSQL


В последнем блоге (Когда настройка параметра в PostgreSQL не помогает) мы сравнили несколько планов выполнения для оператора SQL по мере изменения параметров и индексов. При этом не было упомянуто то, что собой представляет план выполнения, как можно получить план выполнения запроса и как интерпретировать результат. В этом блоге мы глубже погрузимся в эту тему.
Продолжить чтение "Что такое план выполнения и как его найти в PostgreSQL"