Как остановить cache stampede через advisory lock
Как транзакционная advisory lock и повторная проверка кэша позволяют одному процессу выполнить тяжёлый расчёт, пока остальные ждут результат.
Читать материалОптимизация запросов, загрузки данных и ресурсоёмких операций PostgreSQL.
Как транзакционная advisory lock и повторная проверка кэша позволяют одному процессу выполнить тяжёлый расчёт, пока остальные ждут результат.
Читать материалПочему планировщик отказывается от параллелизма, какие операции должны быть parallel safe и как читать Gather в плане.
Читать материалПрактика быстрой загрузки PostgreSQL через COPY, осознанной работы с индексами и триггерами и обязательного ANALYZE.
Читать материалКак исследовать планы UPDATE, DELETE и INSERT и почему EXPLAIN ANALYZE для изменяющих запросов требует особой осторожности.
Читать материалКак HashAggregate, GroupAggregate, Sort и Unique реализуют группировку и удаление дублей в PostgreSQL.
Читать материалИстория о выборе ключа партиционирования, глобальной уникальности и проверке реальных запросов до миграции большой таблицы.
Читать материалКак Append показывает работу с партициями, почему нужен partition pruning и что происходит без фильтра по ключу партиционирования.
Читать материалРазница между временем до первой строки и полным временем запроса, цена построения хеша и роль work_mem при Hash Join.
Читать материалКак лексикографический порядок ключей определяет доступный префикс индекса, диапазонный поиск и поддержку ORDER BY.
Читать материалКак отличить навигацию по индексу от последующей фильтрации и переписать условия, чтобы составной индекс использовался эффективнее.
Читать материалИстория о компактном partial index для редкого активного статуса в таблице с сотнями миллионов завершённых операций.
Читать материалЧто означают Recheck Cond, exact и lossy heap blocks и как нехватка work_mem влияет на Bitmap Heap Scan.
Читать материалКак Bitmap Index Scan и Bitmap Heap Scan объединяют точность индекса с последовательным чтением страниц таблицы.
Читать материалКак CREATE STATISTICS помогает планировщику учитывать зависимости между столбцами, частые сочетания значений и выражения.
Читать материалКак PostgreSQL выбирает алгоритм соединения и почему Nested Loop, Hash Join и Merge Join хороши для разных объёмов и условий.
Читать материалИстория о разделении исторических и оперативных данных между двумя materialized view и аккуратном объединении результатов.
Читать материалПочему Index Only Scan всё равно обращается к таблице, как visibility map влияет на Heap Fetches и при чём здесь VACUUM.
Читать материалКак стоимость, статистика и корреляция данных помогают планировщику выбирать между последовательным и индексным сканированием.
Читать материалСравнение предварительной агрегации в CTE и коррелированного LATERAL JOIN для массовых и точечных запросов PostgreSQL.
Читать материалРазбор запроса, в котором несколько соединений размножают строки перед GROUP BY, и способов агрегировать данные до JOIN.
Читать материалЧетыре распространённые причины Seq Scan: маленькая таблица, выражение над столбцом, низкая селективность и неточная статистика.
Читать материалКак устроено дерево плана PostgreSQL, что означают startup cost и total cost и в каком порядке читать узлы выполнения.
Читать материалВведение в EXPLAIN, EXPLAIN ANALYZE и BUFFERS: чем отличаются планы и как безопасно начинать анализ запросов PostgreSQL.
Читать материалИстория о том, как забытые транзакции удерживают старые версии строк, мешают VACUUM и замедляют вставку данных.
Читать материал