Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
EXPLIQUE los operadores de los planes de consultas de Amazon Redshift
En esta sección se describen brevemente los operadores que aparecen con más frecuencia en la EXPLAIN salida.
Escaneo secuencial
El operador de examen secuencial (Seq Scan) indica el examen de una tabla. Seq Scan escanea cada columna de la tabla de forma secuencial de principio a fin y evalúa las restricciones de consulta (en la WHERE cláusula) para cada fila.
Operadores de combinación
Amazon Redshift selecciona los operadores de combinación en función del diseño físico de las tablas que se combinarán, la ubicación de los datos que se necesitan para la combinación y los requisitos específicos de la propia consulta.
Bucle anidado
Los bucles anidados se utilizan principalmente para las uniones cruzadas. Las combinaciones cruzadas son combinaciones sin una condición de combinación que dan lugar a un producto cartesiano de dos tablas. Los bucles anidados normalmente se ejecutan como uniones de bucles anidadas, que son los tipos de unión más lentos posibles. Si hay un bucle anidado, puede ver un evento de alerta de bucle anidado en la vista STL_ALERT_EVENT_LOG. Puede ejecutar la siguiente consulta para identificar las consultas que tienen bucles anidados:
select q.query, trim(q.querytxt) as sql_query, q.starttime from stl_query q join stl_alert_event_log l on l.query = q.query and l.event like 'Nested Loop Join in the query plan%' order by q.starttime desc;
Hash, unión y hash
Los operadores hash join y hash suelen ser más rápidos que una unión en bucle anidado. Estos operadores se utilizan para las uniones internas y las uniones externas izquierda y derecha. Puede utilizar los operadores hash, unión y hash al unir tablas en las que las columnas de unión no son a la vez claves de distribución ni claves de clasificación. El operador hash crea la tabla hash para la tabla interna de la combinación. El operador de combinación de hash lee la tabla externa, aplica un hash a la columna de unión y busca coincidencias en la tabla hash interna.
Combinación de fusión
El operador de combinación suele ser la combinación más rápida y se utiliza para las uniones internas y externas. La combinación de fusión no se utiliza para las uniones completas. Puede utilizar una combinación al unir tablas en las que las columnas de unión son tanto claves de distribución como claves de clasificación, y cuando menos del 20 por ciento de las tablas de unión están desordenadas. El operador de combinación y combinación lee dos tablas ordenadas en orden y busca las filas coincidentes. Para ver el porcentaje de filas sin ordenar, consulte la tabla del sistema SVV_TABLE_INFO.
Operadores de agregación
El plan de consultas utiliza los siguientes operadores en las consultas que implican funciones y operaciones agregadas: GROUP BY
-
Agregado: operador para funciones agregadas escalares como y
AVGSUM -
HashAggregate— Operador para funciones agregadas agrupadas no ordenadas
-
GroupAggregate— Operador para funciones agregadas agrupadas ordenadas
Operadores de ordenación
El plan de consultas utiliza los siguientes operadores cuando las consultas tienen que ordenar o combinar conjuntos de resultados:
-
Ordenar: evalúa la
ORDER BYcláusula y otras operaciones de clasificación, como las ordenaciones requeridas porUNIONlas consultas y las uniones,SELECT DISTINCTlas consultas y las funciones de ventana -
Fusionar: produce resultados clasificados finales de acuerdo con los resultados ordenados intermedios que se derivan de operaciones paralelas
Operadores UNION, INTERSECT y EXCEPT
El plan de consultas utiliza los siguientes operadores para las consultas que implican operaciones de conjunto con UNIONINTERSECT, yEXCEPT:
-
Subconsulta: se usa para ejecutar
UNIONconsultas -
Hash Intersect Distinct: se usa para ejecutar consultas
INTERSECT -
SetOp Excepto: se usa para ejecutar
EXCEPT(oMINUS) consultas
Otros operadores
Los siguientes operadores también aparecen con frecuencia en los EXPLAIN resultados de las consultas de rutina:
-
Único: elimina los duplicados de las
SELECT DISTINCTconsultas yUNIONconsultas -
Límite: procesa la cláusula
LIMIT -
Ventana: ejecuta funciones de ventana
-
Resultado: ejecuta funciones escalares que no implican ningún acceso a la tabla
-
Subplan: se utiliza para determinadas subconsultas
-
Red: envía los resultados intermedios al nodo principal para su posterior procesamiento
-
Materializar: guarda las filas para introducirlas en las uniones de bucles anidadas y en algunas uniones de fusión