SELECT クエリや INSERT クエリを実行できます。
テーブルを作成する
- カラム名は元の MySQL テーブルと同じである必要がありますが、それらの一部のカラムだけを任意の順序で使用できます。
- カラムの型は、元の MySQL テーブルのものと異なっていてもかまいません。ClickHouse は値を ClickHouse のデータ型に cast しようとします。
- external_table_functions_use_nulls 設定は、Nullable カラムをどのように処理するかを定義します。デフォルト値: 1。0 の場合、このテーブル関数は Nullable カラムを作成せず、null の代わりにデフォルト値を挿入します。これは配列内の NULL 値にも適用されます。
host:port— MySQL サーバーのアドレス。database— リモートのデータベース名。table— リモートテーブル名。user— MySQL ユーザー。password— ユーザーのパスワード。replace_query—INSERT INTOクエリをREPLACE INTOに変換するフラグです。replace_query=1の場合、クエリが置き換えられます。on_duplicate_clause—INSERTクエリに追加されるON DUPLICATE KEY on_duplicate_clause式です。 例:INSERT INTO t (c1,c2) VALUES ('a', 2) ON DUPLICATE KEY UPDATE c2 = c2 + 1。この場合、on_duplicate_clauseはUPDATE c2 = c2 + 1です。ON DUPLICATE KEY句で使用できるon_duplicate_clauseについては、MySQL documentation を参照してください。on_duplicate_clauseを指定するには、replace_queryパラメータに0を渡す必要があります。replace_query = 1とon_duplicate_clauseを同時に渡すと、ClickHouse は例外を生成します。
host と port は別々に指定する必要があります。この方法は本番環境に推奨されます。
=, !=, >, >=, <, <= のような単純な WHERE 句は MySQL サーバー上で実行されます。
それ以外の条件と LIMIT サンプリング制約は、MySQL へのクエリが完了した後にのみ ClickHouse で実行されます。
複数のレプリカをサポートしており、それらは | で区切って列挙する必要があります。例:
使用例
設定
connection_auto_close
- 1 — 接続の自動クローズが許可され、接続の再利用は無効になります
- 0 — 接続の自動クローズは許可されず、接続の再利用は有効になります
1。
connection_max_tries
- 正の整数。
- 0 — フェイルオーバー対応のプールでは再試行しません。
3。
connection_pool_size
- 正の整数。
16。
connection_wait_timeout
connection_pool_size 個の接続がアクティブな場合) 。0 の場合は待機しません。
設定可能な値:
- 正の整数。
5。
connect_timeout
- 正の整数。
10。
read_write_timeout
- 正の整数。
300。