O Elastic Parallel Query (ePQ) distribui as varreduras de partições entre vários workers no PolarDB for PostgreSQL (Compatible with Oracle). Esse recurso é especialmente vantajoso para consultas que varrem tabelas particionadas grandes, mas retornam um volume pequeno de linhas em relação ao total de dados.
Operações suportadas
O ePQ oferece suporte às seguintes operações em tabelas particionadas:
|
Operação |
Detalhes |
|
Varredura de partição por intervalo |
Executa varreduras paralelas em tabelas particionadas por intervalo, como dados de séries temporais organizados por data |
|
Varredura de partição por lista |
Realiza varreduras paralelas em tabelas particionadas por lista, por exemplo, dados de clientes segmentados por região |
|
Varredura de partição por hash |
Processa varreduras paralelas em tabelas com particionamento hash |
|
Poda de partição |
Ignora partições que não atendem ao predicado da consulta, reduzindo o I/O |
|
Varredura de índice |
Efetua varreduras paralelas em tabelas particionadas que possuem índices |
|
JOIN |
Permite consultas JOIN entre tabelas particionadas |
Limitações
O ePQ não suporta consultas em partições de múltiplos níveis.
Não é possível executar varreduras paralelas com ePQ em tabelas particionadas por hash quando os dados estão divididos por mais de uma coluna.
Ativar o ePQ para tabelas particionadas
Execute os comandos a seguir na ordem apresentada. Cada instrução tem efeito apenas na sessão atual.
-
Ative o ePQ globalmente:
SET polar_enable_px=on; -
Ative o ePQ para tabelas particionadas:
SET polar_px_enable_partition = true; -
(Opcional) Ative o ePQ para tabelas com particionamento de múltiplos níveis:
set polar_px_optimizer_multilevel_partitioning = true;
Próximos passos
Para obter informações sobre como criar, modificar e consultar tabelas particionadas, consulte Lista de comandos para tabelas particionadas.