Пересказ статьи Aaron Bertrand. Reasons for SQL Server Query Performance Fluctuations
Производительность запроса может испытывать скачки с течением времени, и это не обязательно обусловлено изменениями в самом запросе (или в коде приложения, которое его вызывает). Пользователи часто спрашивают, почему запрос внезапно стал работать медленнее, хотя они ничего не меняли в приложении, а данные не изменялись резко. В этой статье мы укажем на несколько причин - их существует много - по которым запрос мог замедлиться сегодня по сравнению с тем, что было 10 минут назад, две недели назад, или прошлым летом.
Прежде чем вникать в возможные причины скачков производительности, давайте сделаем обзор того, что происходит в SQL Server при обработке запросов.
Продолжить чтение "Причины скачков производительности запроса в SQL Server"
Пересказ статьи 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.)
Продолжить чтение "Нормализуйте строки для оптимизации пространства и поиска"
Пересказ статьи Henrietta Dombrovskaya. What Is an Execution Plan and How to Find It in PostgreSQL
В последнем блоге (
Когда настройка параметра в PostgreSQL не помогает) мы сравнили несколько планов выполнения для оператора SQL по мере изменения параметров и индексов. При этом не было упомянуто то, что собой представляет план выполнения, как можно получить план выполнения запроса и как интерпретировать результат. В этом блоге мы глубже погрузимся в эту тему.
Продолжить чтение "Что такое план выполнения и как его найти в PostgreSQL"