Привет! Меня зовут Тимур Исламгулов. Я преподаю в МФТИ и веду вебинары по PostgreSQL на курсе «Аналитик данных» в Нетологии. За эти годы я насмотрелся, как разработчики поднимают лишнюю инфраструктуру там, где хватило бы самой базы, — об этом и поговорим.
Рубрика «оптимизация запросов»
PostgreSQL для бэкендера: 10 фич, которыми мало пользуются, а зря
2026-06-30 в 18:44, admin, рубрики: postgresql, SKIP LOCKED, sql, базы_данных, бэкенд, индексы, оконные функции, оптимизация запросов, очередь задач, полнотекстовый поискКак мы ускорили SQL-запросы: реальные кейсы оптимизации PostgreSQL
2026-03-20 в 17:06, admin, рубрики: join, postgresql, sql, оптимизация SQL, оптимизация запросов, оптимизация запросов postgresql, производительность базы данныхДостаточно большое количество проблем производительности в backend-приложениях на самом деле находятся не в коде. За последние пару лет мне несколько раз приходилось разбирать системы, где:
-
API отвечало слишком долго
-
CPU базы был загружен почти на 100%
При этом всем, инфраструктура мощная: достаточное количество RAM, NVMe-диски ну и конечно же CPU последних поколений. Но проблема почти всегда оказывалась в SQL-запросах.
Я хочу поделиться реальным опытом, как мы оптимизировали PostgreSQL в десятки раз
Кейс 1. Индекс, который помог ускорить запрос
Один из самых типичных запросов в системе:
Читать полностью »
Турбонаддув для 1С: Вскрываем регистры бухгалтерии и ускоряем запросы в 3 раза
2026-03-20 в 5:15, admin, рубрики: Блокировка данных, оптимизация запросов, Регистры бухгалтерии, Регистры накопления, СУБДАвторы
Работа выполнена студентом Государственного автономного профессионального образовательного учреждения «Международный центр компетенций — Казанский техникум информационных технологий и связи» Емельяновым Всеволодом Салаватовичем под руководством преподавателя, кандидата экономических наук Маннаповой Диляры Фирнадовны.
В данной статье мы разберем немаловажные регистры бухгалтерии и способы оптимизации запросов к СУБД при работе с ними для решения реальных задач.
PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект
2025-10-03 в 14:16, admin, рубрики: BigData, explain analyze, postgresql, sql, базы данных, Большие данные, индексирование, индексы, оптимизация запросов, производительность
PostgreSQL против 10 миллионов записей: оптимизация запросов, которая спасла наш проект
Пролог: Когда база данных говорит «нет»
Это был обычный понедельник. Я пил кофе, проверял почту, и вдруг — волна уведомлений в Slack. «Сайт не грузится!», «Отчеты зависли!», «Что происходит?».
Простая минификация Json тел запросов – ответов с Kotlin Serialization
2025-08-02 в 20:15, admin, рубрики: http, json, kmp, kotlin, kotlin multiplatform, kotlin serialization, Ktor, архитектура, оптимизация запросов, сериализацияПривет!
Недавно в рамках одного из проектов на стеке KMP, Ktor и Kotlin Serialization мы с командой решили провести эксперимент и определить возможность и целесобразность минификации тел запросов / ответов на Json.
Да, мы знаем про GraphQL, Protobuf и др., но в нашем случае имел место необузданный интерес наколхозить такое решение. И при всей его наивности удалось сократить средний размер итоговых джсонов (после всех внутренних оптимизаций) на 15–20%.
Вводные данные:
-
Большое приложение на KMP с таргетами iOS, Android, Web и Desktop;
-
Фронтенд и бэкенд написаны на Ktor и швыряются Json'ами по HTTP;
У нас есть ERP! Разве этого недостаточно для автоматизации бизнес-процессов?
2025-07-02 в 7:16, admin, рубрики: автоматизация бизнес-процессов, автоматизация предприятий, закупки, оптимизация запросов, оптимизация производительности, оптимизация рабочего времени, планирование ресурсов, планирование цикла разработки, производствоЕсли задать вопрос искусственному интеллекту “зачем нужна ERP-система” мы получим следующий ответ:
«ERP‑система нужна для упрощения, автоматизации и эффективного управления бизнес‑процессами в организации. Она собирает важные данные в одном месте, чтобы их анализировать и решать задачи бизнеса.»
Анализ плана выполнения запроса с оконной функцией в SQL Server (+бонус)
2025-06-13 в 14:40, admin, рубрики: MS Sql Server, t-sql, оптимизация запросов, план выполнения запросовДобрый день!
Предлагаю рассмотреть план выполнения следующего простого запроса:
select
code,
model,
avg(price) over (partition by model) avgp
from
pc
(В данной статье используется таблица из базы данных «Компьютеры» обучающего ресурса sql-ex.ru, ссылка на скрипт)
Запрос выводит все строки из таблицы PC (поля code и model) с расчетом средней стоимости по модели:
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
2025-05-22 в 6:15, admin, рубрики: ESR правило, explain analyze, postgresql, индексный скан, многоколонковый индекс, оптимизация запросов, план выполнения, селективность, составной индексКогда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?
В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
Решение проблемы медленной загрузки документов в модуле Диадок на примере УТ 10.3
2025-03-26 в 12:16, admin, рубрики: диадок, оптимизация запросов, торможение, тормозитЧастный случай повышения производительности работы модуля Диадок на конфигурации УТ 10.3. Испробованы способы типовой оптимизации от 1С путем добавления ресурса в индексированные поля. Но результат дал только способ с нарушением рекомендаций 1С.
Добрый день коллеги.
Обычно я не пишу статей, но решился на этот опус из соображений массовости использования решения Контура модуль Диадок для 1С. Также понимаю, что многие еще используют УТ 10.3 или УПП и могут сталкиваться с похожей деградацией.
Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?
2025-02-13 в 9:15, admin, рубрики: B-Tree vs Hash, dba, hash, sql, базы_данных, индексы, оптимизация запросов, производительность, разработкаИндексы — важнейший инструмент оптимизации запросов в базах данных. В PostgreSQL одним из вариантов является хеш-индекс. В отличие от B-tree, он работает исключительно с операциями равенства (=) и использует бакеты для хранения ссылок на строки таблицы. Давайте разберёмся, как PostgreSQL управляет этими бакетами, какие особенности у хеш-индекса и в каких случаях его применение оправдано.
Что такое бакеты в хеш-индексе PostgreSQL?
При создании хеш-индекса PostgreSQL применяет хеш-функцию к каждому значению индексируемого столбца. Результат хеширования определяет, в какой бакет (bucket) попадёт запись.
