У меня есть опыт в тонкой настройке в oracle, но в postgres я не могу улучшить производительность. Постановка задачи: мне нужно агрегировать строки из одной таблицы postgres - в которой есть большое количество столбцов (110) и 175 миллионов строк за месячный диапазон. Запрос, отличный от агрегации, имеет очень простое предложение where:
where time between '2019-03-15' and '2019-04-15'
and org_name in ('xxx','yyy'.. 15 elements)
В таблице есть отдельные индексы btree для каждого столбца "time" idx_time и "org_name" idx_org_name, но не составного индекса.
Я пытался создать новый индекс с ('org_name', 'time'), но мой менеджер не хочет ничего менять. Как я могу заставить его работать быстрее? Теперь это занимает 15 минут (в случае меньшего набора org_name это занимает 6 минут). Больше всего времени уходит на доступ к данным из таблицы.
Возможно ли параллельное выполнение?
спасибо, Джей
QUERY EXPLAIN ANALYZE: