В СУБД PostgreSQL добавлена поддержка распараллеливания запросов

В экспериментальную ветку, на базе которой будет формироваться релиз PostgreSQL 9.6, приняты изменения с реализацией распараллеливания операций последовательного сканирования записей (Sequential Scan), используемых для перебора значений в случае выборки по непроиндексированным полям или при манипуляциях с содержимым полей. Перебор в несколько параллельных потоков позволит существенно увеличить скорость перебора данных на системах с большим числом процессорных ядер. Выигрыш особенно заметен для ресурсоёмких запросов, таких как сопоставление по регулярным выражениям.

Например, выполнение тестового запроса «select * from pgbench_accounts where filler like ‘%a%'» в обычных условиях занимает 743 мс, в то время как при распараллеливании в четыре потока — 213 мс. При распараллеливании операция сканирования разбивается на части и каждая часть разбирается отдельным обработчиком, после чего результаты работы каждого обработчика объединяются.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.