Какие способы оптимизации SELECT-запросов в PostgreSQL вы знаете, помимо индексов?

Сократите объём работы запроса: выбирайте нужные колонки, фильтруйте и агрегируйте раньше, устраняйте лишние JOIN и N+1. Проверяйте план, статистику, блокировки и выход сортировок на диск.

Короткий ответ

Что ответить на собеседовании

Сократите объём работы запроса: выбирайте нужные колонки, фильтруйте и агрегируйте раньше, устраняйте лишние JOIN и N+1. Проверяйте план, статистику, блокировки и выход сортировок на диск.

Подробный разбор

Ответ с пояснениями

Сократите объём работы запроса: выбирайте нужные колонки, фильтруйте и агрегируйте раньше, устраняйте лишние JOIN и N+1. Проверяйте план, статистику, блокировки и выход сортировок на диск.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее