

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Petunjuk partisi
<a name="partitioning-hints"></a>

Petunjuk partisi mengontrol distribusi data di seluruh node pelaksana. Ketika beberapa petunjuk partisi ditentukan, beberapa node dimasukkan ke dalam rencana logis, tetapi petunjuk paling kiri dipilih oleh pengoptimal.

### BERSATU
<a name="coalesce-hint"></a>

Mengurangi jumlah partisi ke jumlah partisi yang ditentukan.

*Parameter:* Nilai numerik (wajib) - harus berupa bilangan bulat positif antara 1 dan 2147483647

*Contoh:*

```
-- Reduce to 5 partitions
SELECT /*+ COALESCE(5) */ employee_id, salary
FROM employees;
```

### PARTISI ULANG
<a name="repartition-hint"></a>

Repartisi data ke jumlah partisi yang ditentukan menggunakan ekspresi partisi yang ditentukan. Menggunakan distribusi round-robin.

*Parameter:*
+ Nilai numerik (opsional) - jumlah partisi; Harus berupa bilangan bulat positif antara 1 dan 2147483647
+ Pengidentifikasi kolom (opsional) - kolom untuk dipartisi oleh; Kolom ini harus ada dalam skema input.
+ Jika keduanya ditentukan, nilai numerik harus didahulukan

*Contoh:*

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

### REPARTITION\$1BY\$1RANGE
<a name="repartition-by-range-hint"></a>

Repartisi data ke jumlah partisi yang ditentukan menggunakan partisi rentang pada kolom yang ditentukan.

*Parameter:*
+ Nilai numerik (opsional) - jumlah partisi; Harus berupa bilangan bulat positif antara 1 dan 2147483647
+ Pengidentifikasi kolom (opsional) - kolom untuk dipartisi oleh; Kolom ini harus ada dalam skema input.
+ Jika keduanya ditentukan, nilai numerik harus didahulukan

*Contoh:*

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

### MENYEIMBANGKAN KEMBALI
<a name="rebalance-hint"></a>

Menyeimbangkan kembali partisi keluaran hasil kueri sehingga setiap partisi berukuran wajar (tidak terlalu kecil dan tidak terlalu besar). Ini adalah operasi upaya terbaik: jika ada kemiringan, AWS Clean Rooms akan membagi partisi miring untuk membuatnya tidak terlalu besar. Petunjuk ini berguna ketika Anda perlu menulis hasil kueri ke tabel untuk menghindari file yang terlalu kecil atau terlalu besar.

*Parameter:*
+ Nilai numerik (opsional) - jumlah partisi; Harus berupa bilangan bulat positif antara 1 dan 2147483647
+ Pengidentifikasi kolom (opsional) - kolom harus muncul di daftar keluaran SELECT
+ Jika keduanya ditentukan, nilai numerik harus didahulukan

*Contoh:*

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