Глава 15. Параллельный запрос

Содержание

15.1. Как работают параллельно выполняемые запросы
15.2. Когда может применяться распараллеливание запросов?
15.3. Параллельные планы
15.3.1. Параллельные сканирования
15.3.2. Параллельные соединения
15.3.3. Параллельное агрегирование
15.3.4. Советы по параллельным планам
15.4. Безопасность распараллеливания

Postgres Pro Enterprise может вырабатывать такие планы запросов, которые будут задействовать несколько CPU, чтобы получить ответ на запросы быстрее. Эта возможность называется распараллеливанием запросов. Для многих запросов параллельное выполнение не даёт никакого выигрыша, либо из-за ограничений текущей реализации, либо из-за принципиальной невозможности построить параллельный план, который был бы быстрее последовательного. Однако для запросов, в которых это может быть полезно, распараллеливание часто даёт очень значительное ускорение. Многие такие запросы могут выполняться в параллельном режиме как минимум двое быстрее, а некоторые — быстрее в четыре и даже более раз. Обычно наибольший выигрыш можно получить с запросами, обрабатывающими большой объём данных, но возвращающими пользователю всего несколько строк. В этой главе достаточно подробно рассказывается, как работают параллельные запросы и в каких ситуациях их можно использовать, чтобы пользователи, желающие применять их, понимали, чего ожидать.