Skip to content

Поиск медленных запросов в PostgreSQL

Пересказ статьи Shailesh Kumar Mishra. Find slow queries in PostgreSQL


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

Существует много способов трассировки медленных запросов в PostgreSQL, включая следующие: Продолжить чтение "Поиск медленных запросов в PostgreSQL"

11 методов оптимизации баз данных

Пересказ статьи Daniel Foo. 11 Database Optimization Techniques


Базы данных часто оказываются узким местом производительности ПО. Наличие оптимизированной базы данных существенно для высокопроизводительных систем. Ниже приводятся 11 эффективных методов оптимизации баз данных.

Продолжить чтение "11 методов оптимизации баз данных"

Анатомия плана выполнения оконных функций

Пересказ статьи Andy Brownsword. Anatomy of a Window Function Execution Plan


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

И как вы знаете, Кевин взял мою статью, чтобы предоставить альтернативный подход. Он заметил, что хотя его подход был более простым, он производил более сложный план выполнения.

Продолжить чтение "Анатомия плана выполнения оконных функций"

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

Пересказ статьи JackyNote. Optimizing SQL Performance with Execution Plans


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

Настройка с использованием оконных функций

Пересказ статьи Rob Farley. Tuning Using Window Functions


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

Оконные функции довольно часто появляются при переписывании запросов, и пример, связанный с этим был бы уместен для четвергов T-SQL в этом месяце, проводимых Steve Jones(@way0utwest на X/Twitter).
Продолжить чтение "Настройка с использованием оконных функций"

Как оптимизировать ваш SQL-запрос

Пересказ статьи ijaya Rani. How to Optimize Your SQL Query


SQL является декларативным языком, когда каждый запрос сообщает, что он хочет получить, но не говорит как. Это как влияет на эффективность запросов. Настройка производительности SQL может оказаться невероятно трудной задачей, особенно при работе с большими объемами данных, когда даже минимальное изменение может оказать существенное влияние на производительность запроса. Когда вы имеете дело с такими огромными таблицами, оптимизация является ключевым фактором. Неэффективный запрос может расточительно использовать ресурсы базы данных, ухудшить производительность или отключить других пользователей, если запрос содержит ошибки. В этой статье я попытаюсь дать несколько советов и трюков, которые могут оказаться полезными для оптимизации SQL-запросов.

Продолжить чтение "Как оптимизировать ваш SQL-запрос"

Типы индексов: руководство для начинающих

Пересказ статьи JackyNote. Understanding SQL Types of Indexes A Beginner’s Guide


Одной из важнейших концепций, которую необходимо понимать новичку в мире баз данных SQL, является индексирование. Индексы играют решающую роль в улучшении производительности запросов к базе данных и являются основой для эффективного проектирования базы данных. В этой статье мы рассмотрим наиболее общие типы индексов SQL, покажем примеры, случаи использования и вникнем в их алгоритмическую сложность, чтобы помочь начинающим понять эту жизненно важную тему.
Продолжить чтение "Типы индексов: руководство для начинающих"

Инструменты и методы для профилирования и отладки медленно выполняющихся SQL-запросов

Пересказ статьи Crafting-Code. Tools and Techniques for Profiling and Debugging Slow-Running SQL Queries


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

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

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

Пакетный режим выполнения при построчном хранении в SQL Server 2022

Пересказ статьи Prakash K. Batch Execution Mode on a Rowstore in SQL Server 2022


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

Продолжить чтение "Пакетный режим выполнения при построчном хранении в SQL Server 2022"

Улучшить производительность запроса, когда SQL Server игнорирует некластеризованный индекс

Пересказ статьи Mehdi Ghapanvari. Improve Query Performance when SQL Server Ignores Nonclustered Index


Несмотря на наши усилия, направленные на оптимизацию запроса посредством создания некластеризованного индекса, SQL Server, видимо, отдает приоритет сканированию кластеризованного индекса, а не поиску в некластеризованном индексе с последующим поиском ключа. Удивительно, что сканирование кластеризованного индекса оказывается более эффективным для SQL Server в данной конкретной ситуации. Но можем ли мы все же найти способ для улучшения производительности запроса?
Продолжить чтение "Улучшить производительность запроса, когда SQL Server игнорирует некластеризованный индекс"

Понимание планов в PostgreSQL

Пересказ статьи Muhammad Ali. Understand Explain Plans in PostgreSQL


В предыдущей статье мы обсуждали утилиту pg_stat_statements - инструмент для идентификации запросов, интенсивно использующих ресурсы - памяти, ЦП или ввода/вывода.

Теперь предположим, что вы определились с запросами, которые хотите исследовать дальше. Команда EXPLAIN используется для генерации планов выполнения. Она включает:

Продолжить чтение "Понимание планов в PostgreSQL"

Как работает секционирование в PostgreSQL и почему вас это должно беспокоить?

Пересказ статьи Adam Furmanek. How Does Partitioning Work in PostgreSQL and Why Should You Care?


Секционирование позволяет разделить логически одну большую таблицу на физические таблицы меньших размеров. Это может улучшить производительность запросов, обеспечивая доступ к меньшему числу строк, оптимизируя чтения со случайным доступом и используя очень таргетированные индексы. Давайте посмотрим, как это работает в PostgreSQL и как Metis их обрабатывает.

Продолжить чтение "Как работает секционирование в PostgreSQL и почему вас это должно беспокоить?"

Понимание индекса SQL: ключ к быстрому выполнению запросов

Пересказ статьи Kishan Modasiya. Understanding SQL Index: The Key to Faster Query Execution


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

Причины скачков производительности запроса в 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: что это такое и как они могут помочь"