転送先 - MySQL

Prev Next

概要

MySQLへデータを転送する設定のDocsです。

設定項目

STEP1 基本設定

項目名 必須 デフォルト値 内容
MySQL接続情報 Yes - あらかじめ登録してある接続情報から、今回の転送設定に必要な権限を持つものを選択します。
データベース名 Yes - 転送先となるMySQLの存在するデータベース名を指定してください。
記入欄の下にあるボタンを押すことでデータベースの一覧を読み込むことも可能です。
テーブル Yes - 転送先のテーブル名を入力して下さい。
存在しない場合は転送時に新しく作成されます。
転送モード Yes 追記 (INSERT) 後述の転送モードについてを参照ください。

STEP1 詳細設定

項目名 必須 デフォルト値 内容
転送前に実行するクエリ No - MySQLからデータ転送する前に実行したいSQLを入力します。
なお、転送モード「replace」を選択した場合、このクエリは実行されません。
転送完了後に実行するクエリ No - MySQLからデータ転送完了した後に実行したいSQLを入力します。

STEP2 出力オプション

項目名 必須 デフォルト値 内容
最大リトライ回数 Yes 12 最大のリトライ回数を指定します。
リトライ待ち時間(ミリ秒) Yes 1,000 リトライ時の待ち時間を指定します。
リトライ待ち時間の最大値(ミリ秒) Yes 1,800,000 リトライ時の待ち時間の最大値を指定します。
デフォルトのタイムゾーン Yes UTC デフォルトのタイムゾーンを指定します。
カラム設定 No - MySQLにデータを転送する際に用いるデータ型をカラムごとに明示できます。
以下のデータ型から選択できます。

転送モードについて

モード 方式 詳細
insert 追記 テーブルへの追記を行います。
はじめに一時テーブルを生成してそこにデータを投入し、最後に一時テーブルから転送先テーブルへのINSERTを行います。
そのため、転送が途中で失敗した際に中途半端なデータが転送先テーブルに残ることがありません。
insert_direct 追記 テーブルへの追記を行います。
一時テーブル等は作成せず、直接データを投入します。
そのため、転送が途中で失敗した際には中途半端な状態のデータが残る場合があります。
truncate_insert 洗い替え テーブルの洗い替えを行います。
はじめに一時テーブルを生成してそこにデータを投入し、
最後に一時テーブルから転送先テーブルへのINSERTを行います。なお、INSERTの直前にDELETEを行うため、洗い替えとなります。
転送先テーブルのindex情報等は維持されます。
replace 洗い替え テーブルの洗い替えを行います。
はじめに一時テーブルを生成してそこにデータを投入し、
最後に転送先テーブルと一時テーブルのテーブル名を入れ替えることで、転送を完了します。
転送先テーブルのindex情報等は失われます。
merge UPSERT テーブルのUPSERTを行います。
はじめに一時テーブルを生成し、そこにデータをすべて投入します。
最後に以下の様なクエリを実行し、転送先テーブルに対して ON DUPLICATE KEY UPDATE で主キーによる追記&更新を行います。
INSERT INTO <target_table> SELECT * FROM <intermediate_table_1> UNION ALL SELECT * FROM <intermediate_table_2> UNION ALL ... ON DUPLICATE KEY UPDATE ...
merge_direct UPSERT テーブルのUPSERTを行います。
一時テーブル等は作成せず、直接データを投入します。
転送先テーブルに対して ON DUPLICATE KEY UPDATE で主キーによる追記&更新を行います。