日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

INSERT INTO

本文介紹如何用INSERT INTO 語句向云數據庫 ClickHouse數據表中插入數據。

基本語法

INSERT INTO 語句基本格式如下:

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

對于存在于表結構中但不存在于插入列表中的列,它們將會按照如下方式填充數據:

  • 如果存在DEFAULT表達式,根據DEFAULT表達式計算被填充的值。

  • 如果沒有定義DEFAULT表達式,則填充零或空字符串。

使用SELECT的結果寫入

語法結構如下:

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

寫入的列與SELECT的列的對應關系是使用位置來進行對應的,它們在SELECT表達式與INSERT中的名稱可以是不同的。需要對它們進行對應的類型轉換。

除了VALUES格式之外,其他格式中的數據都不允許出現諸如now(),1 + 2等表達式。VALUES格式允許您有限度的使用這些表達式,但是不建議您這么做,因為執行這些表達式很低效。

影響性能的注意事項

在執行INSERT時將會對寫入的數據進行一些處理,比如按照主鍵排序、按照月份對數據進行分區等。如果在您的寫入數據中包含多個月份的混合數據時,將會顯著地降低INSERT的性能。為了避免這種情況,通常采用以下方式:

  • 數據總是以盡量大的batch進行寫入,如每次寫入100,000行。

  • 數據在寫入ClickHouse前預先對數據進行分組。

在以下的情況下,性能不會下降:

  • 數據總是被實時地寫入。

  • 寫入的數據已經按照時間排序。