

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
<a name="partitioning-hints"></a>

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
<a name="coalesce-hint"></a>

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
<a name="repartition-hint"></a>

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\$1POR\$1INTERVALO
<a name="repartition-by-range-hint"></a>

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
<a name="rebalance-hint"></a>

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;
```