Использование статистики в PostgreSQL для оптимизации производительности
🐘 «Память решает всё»: как правильно настроить PostgreSQL для высоких нагрузок
В эпоху огромных объёмов данных и серверов с сотнями гигабайт оперативной памяти, казалось бы, производительность баз данных должна сама собой выходить на космический уровень. Однако на практике всё не так просто: даже самый мощный сервер можно превратить в черепаху, неправильно настроив всего один параметр — shared_buffers в PostgreSQL. Давайте разбираться, почему так происходит и как это исправить. Итак, shared_buffers — это основной кэш PostgreSQL, куда попадают страницы данных из файлов БД при чтении или записи...
Что такое work_mem и для чего данный параметр используется в PostgreSQL?
work_mem - это важный параметр конфигурации в PostgreSQL, который определяет лимит, т.е. максимальный размер оперативной памяти (при нехватке может использоваться диск), выделенной для выполнения таких операций, как: Этот параметр влияет на эффективность выполнения запросов и общую производительность базы данных. Важно подметить, что work_mem выделяется на каждую операцию, а не на каждую сессию PostgreSQL. Это важная деталь, т.к. один SQL-запрос может выполнять несколько операций сортировок или операций по объединению, каждая из которых будет потреблять свою долю памяти...