All Products
Search
Document Center

ApsaraDB for ClickHouse:INSERT INTO

Last Updated:Mar 29, 2026

Memasukkan baris data ke dalam tabel di ApsaraDB for ClickHouse.

Sintaksis

INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ...

Untuk kolom yang didefinisikan dalam skema tabel tetapi tidak disebutkan dalam pernyataan tersebut, ApsaraDB for ClickHouse mengisi nilai berdasarkan aturan berikut:

KondisiPerilaku
Ekspresi default didefinisikan untuk kolom tersebutMengevaluasi ekspresi dan memasukkan hasilnya
Tidak ada ekspresi default yang didefinisikanMemasukkan 0 atau string kosong

Gunakan SELECT dengan INSERT INTO

INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...

Kolom dari hasil SELECT dipetakan ke kolom dalam INSERT INTO secara ketat berdasarkan urutan posisi—nama kolom tidak perlu sesuai. ApsaraDB for ClickHouse secara otomatis mengonversi tipe data jika diperlukan.

Dukungan ekspresi

Hanya bentuk VALUES yang mendukung ekspresi inline seperti now() dan 1 + 2. Meskipun menggunakan VALUES, hindari ekspresi inline karena evaluasinya dilakukan baris demi baris, yang tidak efisien. Sebaiknya hitung nilai tersebut sebelum melakukan insert.

Pertimbangan kinerja

Saat ApsaraDB for ClickHouse mengeksekusi pernyataan INSERT INTO, data langsung diproses: diurutkan berdasarkan primary key dan dipartisi. Jika data yang akan dimasukkan mencakup beberapa bulan, kinerja insert akan menurun secara signifikan.

Untuk menjaga throughput insert yang tinggi:

  • Tulis volume data yang besar sekaligus, misalnya 100.000 baris per operasi.

  • Kelompokkan data sebelum menulisnya ke kluster ApsaraDB for ClickHouse.

Pada skenario berikut, kinerja insert tidak terpengaruh:

  • Data ditulis secara real time.

  • Data yang akan ditulis sudah diurutkan berdasarkan waktu.