Увеличьте производительность postgresql-9.5 на 200+ миллионах записей - PullRequest
0 голосов
/ 14 мая 2018

У меня более 200 миллионов записей в таблице postgresql-9.5.Почти все запросы являются аналитическими запросами.Чтобы увеличить и оптимизировать производительность запросов, я пытаюсь использовать индексирование, и кажется, что этого недостаточно.Какие еще варианты мне нужно посмотреть?

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Вам следует обновить систему до PostgreSQL v10, чтобы можно было использовать параллельный запрос.

Это позволяет выполнять последовательное сканирование и сканирование по индексу с несколькими параллельными фоновыми работниками, что может ускорить эти операции в больших таблицах.

Хорошая структура базы данных, хорошая индексация, большой объем оперативной памяти и быстрое хранение также являются важными факторами для хорошей производительности аналитических запросов.

0 голосов
/ 16 июня 2018

Если анализ включает много агрегации, рассмотрите материализованные представления для хранения агрегатов. Материализованные представления занимают место, и их тоже нужно обновлять. Но они очень полезны для агрегирования данных.

0 голосов
/ 14 мая 2018

В зависимости от того, где условие условия создает разделенную таблицу (https://www.postgresql.org/docs/10/static/ddl-partitioning.html) , это значительно сократит стоимость запроса, даже если есть определенное фиксированное значение, в котором предложение where выполняет частичную индексацию по многораздельной таблице. Важный момент, проверьте порядок столбцов в предложении where и сопоставьте его при индексации

...