Elastic Parallel Query (ePQ) distribuye los escaneos de particiones entre varios workers en PolarDB for PostgreSQL (Compatible with Oracle). Esta función resulta más útil en consultas que escanean tablas particionadas grandes, pero devuelven pocas filas en comparación con el volumen total de datos.
Operaciones compatibles
ePQ admite las siguientes operaciones en tablas particionadas:
|
Operación |
Detalles |
|
Escaneo de particiones por rango |
Ejecuta escaneos paralelos en tablas particionadas por rango, como los datos de series temporales particionados por fecha |
|
Escaneo de particiones por lista |
Ejecuta escaneos paralelos en tablas particionadas por lista, como los datos de clientes particionados por región |
|
Escaneo de particiones por hash |
Ejecuta escaneos paralelos en tablas particionadas por hash |
|
Eliminación de particiones |
Omite las particiones que no cumplen el predicado de la consulta y reduce así las operaciones de E/S |
|
Escaneo de índices |
Ejecuta escaneos paralelos en tablas particionadas que tienen índices |
|
JOIN |
Admite consultas JOIN en tablas particionadas |
Limitaciones
ePQ no es compatible con consultas en particiones de varios niveles.
ePQ no puede ejecutar escaneos paralelos en tablas particionadas por hash donde los datos se dividen por más de una columna.
Habilite ePQ para tablas particionadas
Ejecute los siguientes comandos en el orden indicado. Cada comando surte efecto únicamente en la sesión actual.
-
Habilite ePQ de forma global:
SET polar_enable_px=on; -
Habilite ePQ para tablas particionadas:
SET polar_px_enable_partition = true; -
(Opcional) Habilite ePQ para tablas particionadas de varios niveles:
set polar_px_optimizer_multilevel_partitioning = true;
Pasos siguientes
Para obtener información sobre cómo crear, modificar y consultar tablas particionadas, consulte Command list for partitioned tables.