すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for ClickHouse:INSERT INTO

最終更新日:Mar 28, 2026

ApsaraDB for ClickHouse のテーブルに行を挿入します。

構文

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

テーブルスキーマで定義されているものの、文にリストされていない列については、ApsaraDB for ClickHouse は次のルールを使用して値を入力します:

条件動作
列にデフォルト式が定義されている場合式を評価し、その結果を挿入します
デフォルト式が定義されていない場合0 または空の文字列を挿入します

INSERT INTO での SELECT の使用

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

SELECT の結果の列は、厳密な位置順で INSERT INTO の列にマッピングされます。列名が一致する必要はありません。ApsaraDB for ClickHouse は必要に応じてデータ型を自動的に変換します。

式のサポート

VALUES 形式のみが now()1 + 2 のようなインライン式をサポートします。VALUES を使用する場合でも、インライン式の使用は避けてください。行ごとに評価すると非効率です。代わりに、挿入前に値を計算してください。

パフォーマンスに関する考慮事項

ApsaraDB for ClickHouse が INSERT INTO 文を実行すると、データは直ちに処理されます。具体的には、プライマリキーによるソートとデータのパーティショニングが行われます。挿入するデータが複数月にまたがる場合、挿入パフォーマンスは著しく低下します。

高い挿入スループットを維持するには、次の点に注意してください:

  • 一度に大量のデータを書き込みます。たとえば、毎回 100,000 行のデータを書き込むことができます。

  • データを ApsaraDB for ClickHouse クラスターに書き込む前に、データをグループ化します。

以下のシナリオでは、挿入パフォーマンスは影響を受けません:

  • データはリアルタイムで書き込まれます。

  • 書き込むデータがすでに時間順にソートされている場合。