As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Dicas de particionamento
As dicas de particionamento controlam a distribuição de dados entre os nós do executor. Quando várias dicas de particionamento são especificadas, vários nós são inseridos no plano lógico, mas a dica mais à esquerda é selecionada pelo otimizador.
AGLUTINAR
Reduz o número de partições para o número especificado de partições.
Parâmetros: valor numérico (obrigatório) - deve ser um número inteiro positivo entre 1 e 2147483647
Exemplos:
-- Reduce to 5 partitions SELECT /*+ COALESCE(5) */ employee_id, salary FROM employees;
DISTRIBUIÇÃO
Reparticiona os dados para o número especificado de partições usando as expressões de particionamento especificadas. Usa distribuição round-robin.
Parâmetros:
-
Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647
-
Identificadores de coluna (opcional) - colunas pelas quais particionar; Essas colunas devem existir no esquema de entrada.
-
Se ambos forem especificados, o valor numérico deverá vir primeiro
Exemplos:
-- Repartition to 10 partitions SELECT /*+ REPARTITION(10) */ * FROM employees; -- Repartition by column SELECT /*+ REPARTITION(department) */ * FROM employees; -- Repartition to 8 partitions by department SELECT /*+ REPARTITION(8, department) */ * FROM employees; -- Repartition by multiple columns SELECT /*+ REPARTITION(8, department, location) */ * FROM employees;
REPARTIÇÃO_POR_INTERVALO
Reparticiona os dados para o número especificado de partições usando o particionamento de intervalo nas colunas especificadas.
Parâmetros:
-
Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647
-
Identificadores de coluna (opcional) - colunas pelas quais particionar; Essas colunas devem existir no esquema de entrada.
-
Se ambos forem especificados, o valor numérico deverá vir primeiro
Exemplos:
SELECT /*+ REPARTITION_BY_RANGE(10) */ * FROM employees; -- Repartition by range on age column SELECT /*+ REPARTITION_BY_RANGE(age) */ * FROM employees; -- Repartition to 5 partitions by range on age SELECT /*+ REPARTITION_BY_RANGE(5, age) */ * FROM employees; -- Repartition by range on multiple columns SELECT /*+ REPARTITION_BY_RANGE(5, age, salary) */ * FROM employees;
REEQUILIBRAR
Reequilibra as partições de saída do resultado da consulta para que cada partição tenha um tamanho razoável (nem muito pequena nem muito grande). Esta é uma operação de melhor esforço: se houver inclinações, AWS Clean Rooms dividirá as partições inclinadas para que não sejam muito grandes. Essa dica é útil quando você precisa gravar o resultado de uma consulta em uma tabela para evitar arquivos muito pequenos ou muito grandes.
Parâmetros:
-
Valor numérico (opcional) - número de partições; deve ser um número inteiro positivo entre 1 e 2147483647
-
Identificadores de coluna (opcional) - as colunas devem aparecer na lista de saída SELECT
-
Se ambos forem especificados, o valor numérico deverá vir primeiro
Exemplos:
-- Rebalance to 10 partitions SELECT /*+ REBALANCE(10) */ employee_id, name FROM employees; -- Rebalance by specific columns in output SELECT /*+ REBALANCE(employee_id, name) */ employee_id, name FROM employees; -- Rebalance to 8 partitions by specific columns SELECT /*+ REBALANCE(8, employee_id, name) */ employee_id, name, department FROM employees;