Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.3.4.3 MySQL Cluster のシステム変数

このセクションでは、MySQL Cluster および NDB ストレージエンジンに固有の MySQL サーバーシステム変数について詳しく説明します。MySQL Cluster に固有でないシステム変数については、セクション5.1.4「サーバーシステム変数」を参照してください。システム変数の使用に関する一般情報は、セクション5.1.5「システム変数の使用」を参照してください。

  • have_ndbcluster

    表 18.33  have_ndbcluster の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    have_ndbcluster

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 ブール

    説明: mysqld が NDB Cluster テーブルをサポートするかどうか (--ndbcluster オプションで設定されます)。


    mysqldNDBCLUSTER テーブルをサポートする場合は YES--skip-ndbcluster が使用されている場合は DISABLED

    この変数は非推奨であり、MySQL 5.6 で削除されています。代わりに SHOW ENGINES を使用してください。

  • ndb_autoincrement_prefetch_sz

    表 18.34  ndb_autoincrement_prefetch_sz の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_autoincrement_prefetch_sz

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 数値 32 / 1 - 256
    5.0.56 数値 1 / 1 - 256
    5.1.1 数値 32 / 1 - 256
    5.1.23 数値 1 / 1 - 256
    5.1.16-ndb-6.2.0 数値 32 / 1 - 256
    5.1.23-ndb-6.2.10 数値 1 / 1 - 256
    5.1.19-ndb-6.3.0 数値 32 / 1 - 256
    5.1.23-ndb-6.3.7 数値 1 / 1 - 256
    5.1.41-ndb-6.3.31 数値 1 / 1 - 65536
    5.1.30-ndb-6.4.0 数値 32 / 1 - 256
    5.1.41-ndb-7.0.11 数値 1 / 1 - 65536
    5.5.15-ndb-7.2.1 数値 1 / 1 - 65536

    説明: NDB 自動インクリメント値のプリフェッチサイズ


    自動インクリメントカラムのギャップの可能性を指定します。これを最小化するには、1 に設定します。最適化するために大きな値に設定すると、挿入は高速になりますが、一連の挿入に連続した自動インクリメント番号が使用される可能性は減ります。最小およびデフォルト値は 1 です。ndb_autoincrement_prefetch_sz の最大値は 65536 です。

    この変数は、ステートメント間でフェッチされる AUTO_INCREMENT ID の数にのみ影響します。特定のステートメント内では、一度に少なくとも 32 個の ID が取得されます。デフォルト値は 1 です。

    重要

    この変数は、INSERT ... SELECT を使用して実行される挿入には影響しません。

  • ndb_cache_check_time

    表 18.35  ndb_cache_check_time の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_cache_check_time

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 数値 0 / -

    説明: MySQL クエリーキャッシュによって行われるクラスタ SQL ノードのチェック間のミリ秒数


    MySQL クエリーキャッシュによる MySQL Cluster SQL ノードのチェック間で経過するミリ秒数。これを 0 (デフォルトおよび最小値) に設定すると、クエリーキャッシュですべてのクエリーの妥当性がチェックされます。

    この変数の推奨最大値は 1000 です。これは、チェックが毎秒 1 回行われることを意味します。より大きな値にすると、チェックが実行され、場合によっては異なる SQL ノードでの更新のために無効になる頻度が少なくなります。これを 2000 より大きな値に設定することは、通常、望ましくありません。

  • ndb_deferred_constraints

    表 18.36  ndb_deferred_constraints の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_deferred_constraints

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 整数 0 / 0 - 1

    説明: 制約チェック (サポートされている場合) を遅延させることを指定します。通常は必要なく、使用されません。テストの目的にのみ使用されます。


    制約チェックがサポートされる場合に、それを遅延するかどうかを制御します。0 がデフォルトです。

    この変数は、MySQL Cluster または MySQL Cluster レプリケーションの動作には通常不要であり、主にテストでの使用を目的としています。

  • ndb_distribution

    表 18.37  ndb_distribution の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_distribution

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 列挙 KEYHASH / LINHASH, KEYHASH

    説明: NDBCLUSTER の新しいテーブルのデフォルトの配布 (KEYHASH または LINHASH、デフォルトは KEYHASH)


    NDB テーブルのデフォルトの分配方法を制御します。KEYHASH (キーハッシュ) または LINHASH (線形ハッシュ) のいずれかに設定できます。KEYHASH がデフォルトです。

  • ndb_eventbuffer_max_alloc

    表 18.38  ndb_eventbuffer_max_alloc の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_eventbuffer_max_alloc

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 数値 0 / 0 - 4294967295

    説明: NDB API によるイベントのバッファリングのために割り当てることのできる最大メモリー。デフォルトでは 0 (制限なし) になります。


    NDB API によるイベントのバッファリングに割り当てる可能な最大メモリー量 (バイト単位) を設定します。0 はデフォルトで、制限が適用されません。

    この変数は MySQL Cluster NDB 7.3.3 で追加されました。

  • ndb_extra_logging

    表 18.39  ndb_extra_logging の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_extra_logging

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 数値 0 / -
    5.1.19-ndb-6.3.0 数値 1 / -

    説明: MySQL Cluster スキーマ、接続、およびデータ配布イベントの、MySQL エラーログへのロギングを制御


    この変数は、NDB ストレージエンジンに固有の情報を MySQL エラーログに記録できるようにします。

    この変数を 0 に設定すると、MySQL エラーログに書き込まれる NDB 固有の情報がトランザクション処理に関するものだけになります。0 より大きく 10 より小さい値に設定すると、NDB のテーブルスキーマイベントと接続イベント、競合解決の使用中の有無、および NDB のその他のエラーと情報も記録されます。値を 10 以上に設定すると、NDB の内部に関する情報 (クラスタノード間のデータ分配の進行状況など) も MySQL エラーログに書き込まれます。デフォルトは 1 です。

  • ndb_force_send

    表 18.40  ndb_force_send の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_force_send

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 ブール TRUE

    説明: ほかのスレッドを待機することなく、ただちにバッファーを NDB に強制的に送信


    ほかのスレッドを待機せずに、バッファーを NDB にただちに送信します。デフォルトは ON です。

  • ndb_index_stat_cache_entries

    表 18.41  ndb_index_stat_cache_entries の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_index_stat_cache_entries

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 数値 32 / 0 - 4294967295

    説明: 開始キーと終了キーの数を決定することにより、統計の粒度を設定


    統計メモリーキャッシュに格納する開始キーと終了キーの数を指定して、統計の粒度を設定します。0 では、キャッシュが行われません。この場合、データノードは常に直接クエリーされます。デフォルト値: 32

    注記

    ndb_index_stat_enableOFF の場合は、この変数を設定しても無効になります。

    この変数は MySQL 5.1 で非推奨になり、MySQL Cluster NDB 7.3.5 以降では削除されています。

  • ndb_index_stat_enable

    表 18.42  ndb_index_stat_enable の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_index_stat_enable

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 ブール OFF
    5.5.15-ndb-7.2.1 ブール ON

    説明: クエリーの最適化で NDB インデックス統計を使用


    クエリーの最適化で NDB インデックス統計を使用します。デフォルトは ON です。

  • ndb_index_stat_option

    表 18.43  ndb_index_stat_option の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_index_stat_option

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 文字列 loop_enable=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=8, check_delay=10m,delete_batch=8, clean_delay=1m,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90,zero_total=0
    5.1.56-ndb-7.1.17 文字列 loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=32, check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90

    説明: NDB インデックス統計の調整可能なオプションのカンマ区切りのリスト。リストはスペースを含んではなりません


    この変数は、NDB インデックス統計の生成に関する調整オプションを提供するために使用されます。このリストは、カンマで区切られたオプション名と値の名前/値ペアで構成されます。このリストに空白文字を入れることはできません。

    ndb_index_stat_option の設定時に使用していなかったオプションは、デフォルト値から変更できません。たとえば、ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M' のように設定できます。

    オプションで、時間値のサフィクスとして s (秒) または ms (ミリ秒) を使用できます。整数値のサフィクスとして KM、または G を使用できます。

    この変数を使用して設定できるオプションの名前を次の表に示します。この表には、オプションの簡単な説明、デフォルト値、および (適用可能な場合は) 最小値と最大値も示します。

    名前 説明 デフォルト/単位 最小/最大
    loop_enable   1000 ms 0/4G
    loop_idle アイドル時のスリープ時間 1000 ms 0/4G
    loop_busy 追加作業が待機しているときのスリープ時間 100 ms 0/4G
    update_batch   1 0/4G
    read_batch   4 1/4G
    idle_batch   32 1/4G
    check_batch   8 1/4G
    check_delay 新しい統計をチェックする頻度 10 ms 1/4G
    delete_batch   8 0/4G
    clean_delay   1 ms 0/4G
    error_batch   4 1/4G
    error_delay   1 ms 1/4G
    evict_batch   8 1/4G
    evict_delay LRU キャッシュを削除します (読み取り時から) 1 ms 0/4G
    cache_limit この mysqld がキャッシュされたインデックス統計のために使用するメモリーの最大量 (バイト単位)。これを超えたときにキャッシュをクリーンアップします。 32 M 0/4G
    cache_lowpct   90 0/100
    zero_total これを 1 に設定すると、ndb_index_stat_status のすべての累積カウンタが 0 にリセットされます。これが行われると、このオプション値も 0 にリセットされます。 0 0/1
  • ndb_index_stat_update_freq

    表 18.44  ndb_index_stat_update_freq の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_index_stat_update_freq

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 数値 20 / 0 - 4294967295

    説明: 統計キャッシュではなくデータノードにクエリーを実行する頻度


    統計キャッシュの代わりにデータノードをクエリーする頻度。たとえば、値 20 (デフォルト) ではクエリーを 20 回に 1 回データノードに送信します。

    注記

    ndb_index_stat_cache_entries0 の場合は、この変数を設定しても無効になります。この場合は、すべてのクエリーがデータノードに直接送信されます。

    この変数は MySQL 5.1 で非推奨になり、MySQL Cluster NDB 7.3.5 以降では削除されています。

  • ndb_join_pushdown

    表 18.45  ndb_join_pushdown の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_join_pushdown

    いいえ はい いいえ
    いいえ 両方 はい
    5.1.51-ndb-7.2.0 ブール TRUE

    説明: データノードへの結合のプッシュダウンを有効化


    この変数は、NDB テーブル上の結合が NDB カーネル (データノード) にプッシュダウンされるかどうかを制御します。以前は、SQL ノードによる NDB の複数アクセスにより結合が処理されていましたが、ndb_join_pushdown を有効にすると、プッシュ可能な結合のすべてがデータノードに送信されます。この場合、結合はデータノード間で分配され、データの複数のコピーに対して並列で実行され、単一のマージされた結果が mysqld に返されます。これにより、このような結合を処理するために必要な SQL ノードとデータノード間のラウンドトリップの回数を大幅に減らすことができます。

    デフォルトでは、ndb_join_pushdown は有効になっています。

    結合をプッシュ可能にするには、次の条件を満たす必要があります。

    1. 比較できるのはカラムのみであり、結合されるすべてのカラムが完全に同じデータ型を使用している必要があります。

      つまり、t1.a = t2.a + constant のような式はプッシュダウンできません。また、(たとえば) INT カラムと BIGINT カラムの結合をプッシュダウンすることもできません。

    2. BLOB または TEXT カラムを参照するクエリーはサポートされません。

    3. 明示的なロックはサポートされません。ただし、NDB ストレージエンジンの特徴である暗黙的な行ベースのロックは適用されます。

      これは、FOR UPDATE を使用する結合をプッシュダウンできないことを意味します。

    4. 結合をプッシュダウンするには、refeq_ref、または const アクセスメソッドのいずれか、またはこれらのメソッドの組み合わせを使用して結合の子テーブルにアクセスする必要があります。

      外部結合された子テーブルは、eq_ref のみを使用してプッシュできます。

      プッシュされた結合のルートが eq_ref または const である場合は、eq_ref によって結合された子テーブルのみを追加できます。(ref によって結合されたテーブルは、プッシュされた結合の別のルートになる可能性があります。)

      クエリーオプティマイザで候補となる子テーブルに Using join cache を指定した場合は、そのテーブルは子としてプッシュできません。ただし、プッシュされたテーブルの別のセットのルートになることはできます。

    5. [LINEAR] HASHLIST、または RANGE によって明示的にパーティション化されたテーブルを参照する結合は、現在のところプッシュダウンできません。

    特定の結合をプッシュダウンできるかどうかを確認するには、それを EXPLAIN でチェックします。結合をプッシュダウンできる場合は、この例に示すように、出力の Extra カラムに pushed join への参照が表示されます。

    mysql> EXPLAIN
        ->     SELECT e.first_name, e.last_name, t.title, d.dept_name
        ->         FROM employees e
        ->         JOIN dept_emp de ON e.emp_no=de.emp_no
        ->         JOIN departments d ON d.dept_no=de.dept_no
        ->         JOIN titles t ON e.emp_no=t.emp_no\G
    *************************** 1. row ***************************
               id: 1
      select_type: SIMPLE
            table: d
             type: ALL
    possible_keys: PRIMARY
              key: NULL
          key_len: NULL
              ref: NULL
             rows: 9
            Extra: Parent of 4 pushed join@1
    *************************** 2. row ***************************
               id: 1
      select_type: SIMPLE
            table: de
             type: ref
    possible_keys: PRIMARY,emp_no,dept_no
              key: dept_no
          key_len: 4
              ref: employees.d.dept_no
             rows: 5305
            Extra: Child of 'd' in pushed join@1
    *************************** 3. row ***************************
               id: 1
      select_type: SIMPLE
            table: e
             type: eq_ref
    possible_keys: PRIMARY
              key: PRIMARY
          key_len: 4
              ref: employees.de.emp_no
             rows: 1
            Extra: Child of 'de' in pushed join@1
    *************************** 4. row ***************************
               id: 1
      select_type: SIMPLE
            table: t
             type: ref
    possible_keys: PRIMARY,emp_no
              key: emp_no
          key_len: 4
              ref: employees.de.emp_no
             rows: 19
            Extra: Child of 'e' in pushed join@1
    4 rows in set (0.00 sec)
    注記

    内部結合されたテーブルが ref によって結合され、かつその結果がソートされたインデックスによって順序付けまたはグループ化された場合、このインデックスはソートされた行を提供できず、ソートされた一時ファイルへの書き込みが強制されます。

    プッシュされた結合の動作については、追加の情報源が 2 つあります。

    1. ステータス変数 Ndb_pushed_queries_definedNdb_pushed_queries_droppedNdb_pushed_queries_executed、および Ndb_pushed_reads

    2. DBSPJ カーネルブロックに属する ndbinfo.counters テーブル内のカウンタ。このカウンタについては、セクション18.5.10.7「ndbinfo counters テーブル」を参照してください。『MySQL Cluster API Developer Guide』のThe DBSPJ Blockも参照してください。

  • ndb_log_apply_status

    表 18.46  ndb_log_apply_status の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_apply_status

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール OFF

    説明: スレーブとして機能している MySQL サーバーが、直接のマスターから受信した mysql.ndb_apply_status の更新を、自身のサーバー ID を使用して自身のバイナリログに記録するかどうか。


    --ndb-log-apply-status オプションを使用してサーバーが起動されたかどうかを示す読み取り専用の変数。

  • ndb_log_bin

    表 18.47  ndb_log_bin の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_bin

    はい はい いいえ
    いいえ 両方 はい
    NDB 7.3 ブール ON

    説明: NDB テーブルの更新をバイナリログに書き込みます。--log-bin でバイナリロギングが有効になっている場合にのみ有効です。


    NDB テーブルの更新がバイナリログに書き込まれるようになります。サーバーのバイナリロギングがまだ log_bin を使用して有効になっていない場合は、この変数を設定しても無効になります。ndb_log_bin のデフォルトは 1 (ON) です。通常、本番環境でこの値を変更する必要はありません。

  • ndb_log_binlog_index

    表 18.48  ndb_log_binlog_index の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_binlog_index

    はい はい いいえ
    いいえ グローバル はい
    NDB 7.3 ブール ON

    説明: エポックとバイナリログの位置の間のマッピングを ndb_binlog_index テーブルに挿入します。デフォルトでは ON になります。サーバー上でバイナリロギングが有効になっている場合にのみ有効です。


    エポックとバイナリログ内の位置とのマッピングが ndb_binlog_index テーブルに挿入されるようになります。サーバーのバイナリロギングがまだ log_bin を使用して有効になっていない場合は、この変数を設定しても無効になります。(また、ndb_log_bin も無効にしないでください。) ndb_log_binlog_index のデフォルトは 1 (ON) です。通常、本番環境でこの値を変更する必要はありません。

  • ndb_log_empty_epochs

    表 18.49  ndb_log_empty_epochs の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_empty_epochs

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 ブール OFF

    説明: 有効な場合は、log_slave_updates が有効であっても、変更がなかったエポックが ndb_apply_status および ndb_binlog_index テーブルに書き込まれます。


    この変数を 0 に設定すると、変更がなかったエポックトランザクションがバイナリログに書き込まれなくなりますが、ndb_binlog_index には空のエポックの行も書き込まれます。

  • ndb_log_exclusive_reads

    表 18.50  ndb_log_exclusive_reads の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_exclusive_reads

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 ブール 0

    説明: 排他的ロックによる主キーの読み取りをログに記録します。読み取りの競合に基づく競合解決を許可します。


    MySQL Cluster NDB 7.4.1 以降では、この変数によって、主キーの読み取りを排他ロックで記録するかどうかを指定します。これにより、読み取りの競合に基づく MySQL Cluster レプリケーションの競合検出および解決が可能になります。このロックを有効にするには、ndb_log_exclusive_reads の値を 1 に設定します。0 (このようなロックを無効にする) がデフォルトです。

    詳細は、読み取り競合の検出と解決を参照してください。

  • ndb_log_orig

    表 18.51  ndb_log_orig の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_orig

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール OFF

    説明: 発信サーバーの ID とエポックが mysql.ndb_binlog_index テーブルに記録されるかどうか。mysqld を起動するときに --ndb-log-orig オプションを使用して設定します。


    発信元サーバーの ID とエポックが ndb_binlog_index テーブルに記録されるかどうかを示します。--ndb-log-orig サーバーオプションを使用して設定します。

  • ndb_log_transaction_id

    表 18.52  ndb_log_transaction_id の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_log_transaction_id

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 ブール OFF

    説明: NDB トランザクション ID がバイナリログに書き込まれるかどうか。(読み取り専用。)


    この読み取り専用のブールシステム変数は、スレーブの mysqld が (アクティブ-アクティブ型の MySQL Cluster レプリケーションを NDB$EPOCH_TRANS() の競合検出とともに使用するために必要な) NDB トランザクション ID をバイナリログに書き込むかどうかを示します。この設定を変更するには、--ndb-log-transaction-id オプションを使用します。

    メインラインの MySQL Server 5.6 では ndb_log_transaction_id はサポートされません。

    詳細は、セクション18.6.11「MySQL Cluster レプリケーションの競合解決」を参照してください。

  • ndb_optimized_node_selection

    表 18.53  ndb_optimized_node_selection の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_optimized_node_selection

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 ブール ON
    5.1.22-ndb-6.3.4 数値 3 / 0 - 3

    説明: SQL ノードが、トランザクションコーディネータとして使用するためにクラスタデータノードを選択する方法を決定


    最適化されたノードの選択には、ここの示す 2 つの形式があります。

    1. SQL ノードは、近接性を使用してトランザクションコーディネータを指定します。つまり、その SQL ノードからもっとも近いデータノードがトランザクションコーディネータとして選択されます。この指定では、SQL ノードとの共有メモリー接続を持つデータノードがその SQL ノードからもっとも近いとみなされます。次に近いのは、(近接性が低くなる順に) localhost との TCP 接続、SCI 接続、localhost 以外のホストからの TCP 接続です。

    2. SQL スレッドは、分布の認識を使用してデータノードを選択します。つまり、特定のトランザクションの最初のステートメントによってアクセスされるクラスタパーティションを収容するデータノードが、トランザクション全体のトランザクションコーディネータとして使用されます。(これは、トランザクションの最初のステートメントが 1 つのクラスタパーティションにしかアクセスしない場合にのみ有効です。)

    このオプションは、012、または 3 のいずれかの整数値を取ります。3 がデフォルトです。これらの値は、ノード選択に次のように影響します。

    • 0: ノード選択は最適化されません。SQL スレッドが次のデータノードに進む前に、各データノードがトランザクションコーディネータとして 8 回ずつ採用されます。

    • 1: SQL ノードへの近接性を使用してトランザクションコーディネータが指定されます。

    • 2: 分布の認識を使用してトランザクションコーディネータが選択されます。ただし、トランザクションの最初のステートメントが複数のクラスタパーティションにアクセスする場合は、SQL ノードはこのオプションを 0 に設定したときに見られるラウンドロビンの動作に戻ります。

    • 3: トランザクションコーディネータを指定するために分布の認識を使用できる場合は、それが使用されます。そうでない場合は、近接性を使用してトランザクションコーディネータが選択されます。(これはデフォルトの動作です。)

  • ndb_recv_thread_activation_threshold

    表 18.54  ndb_recv_thread_activation_threshold の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_recv_thread_activation_threshold

    いいえ いいえ いいえ
    いいえ いいえ
    5.6.10-ndb-7.3.1 数値 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD)

    説明: 受信スレッドがクラスタ接続のポーリングを引き継ぐときのアクティブ化のしきい値 (同時にアクティブなスレッドで測定されます)


    現在アクティブなスレッドがこの数に達すると、受信スレッドがクラスタ接続のポーリングを引き継ぎます。

    この変数のスコープはグローバルです。また、--ndb-recv-thread-activation-threshold オプションを使用して起動時に設定することもできます。

  • ndb_recv_thread_cpu_mask

    表 18.55  ndb_recv_thread_cpu_mask の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_recv_thread_cpu_mask

    いいえ はい いいえ
    いいえ グローバル はい
    NDB 7.3 ビットマップ [空]

    説明: 受信者スレッドを特定の CPU にロックするための CPU マスク。16 進数として指定されます。詳細は、ドキュメントを参照してください。


    受信者スレッドを特定の CPU にロックするための CPU マスク。これは、16 進数のビットマスクとして指定されます。たとえば、0x33 は受信者スレッドごとに 1 つの CPU を使用します。空の文字列がデフォルトです。ndb_recv_thread_cpu_mask をこの値に設定すると、以前に設定された受信者スレッドのロックがすべて削除されます。

    この変数のスコープはグローバルです。また、--ndb-recv-thread-cpu-mask オプションを使用して起動時に設定することもできます。

  • ndb_report_thresh_binlog_epoch_slip

    表 18.56  ndb_report_thresh_binlog_epoch_slip の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_report_thresh_binlog_epoch_slip

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 数値 3 / 0 - 256

    説明: これは、バイナリログステータスをレポートする前に、過ぎていなければならないエポックの数のしきい値です


    これは、バイナリログのステータスを報告するまでに遅延するエポックの数に対するしきい値です。たとえば、値 3 (デフォルト) では、ストレージノードから受信したエポックとバイナリログに適用されたエポックの差が 3 以上になると、ステータスメッセージがクラスタログに送信されます。

  • ndb_report_thresh_binlog_mem_usage

    表 18.57  ndb_report_thresh_binlog_mem_usage の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_report_thresh_binlog_mem_usage

    はい いいえ いいえ
    はい いいえ
    NDB 7.3 数値 10 / 0 - 10

    説明: これは、バイナリログステータスをレポートする前に、残っている空きメモリーの割合のしきい値です。


    これは、バイナリログのステータスを報告するまでに残存する空きメモリーの割合に対するしきい値です。たとえば、値 10 (デフォルト) では、データノードからのバイナリログデータの受信に使用できるメモリー量が 10% を下回ると、ステータスメッセージがクラスタログに送信されます。

  • slave_allow_batching

    表 18.58  slave_allow_batching の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    slave_allow_batching

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 ブール off

    説明: レプリケーションスレーブの更新バッチ化をオンおよびオフにする


    MySQL Cluster レプリケーションのスレーブでバッチ更新が有効かどうか。

    現在、この変数は MySQL Cluster に付属する、または MySQL Cluster ソースからビルドされた mysqld でのみ使用可能です。詳細は、セクション18.6.6「MySQL Cluster レプリケーションの起動 (レプリケーションチャネルが 1 つ)」を参照してください。

  • ndb_show_foreign_key_mock_tables

    表 18.59  ndb_show_foreign_key_mock_tables の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_show_foreign_key_mock_tables

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 ブール OFF

    説明: foreign_key_checks=0 をサポートするために使用される擬似テーブルを表示します。


    NDBforeign_key_checks=0 のサポートに使用するモックテーブルを示します。これを有効にすると、テーブルを作成および削除するときに追加の警告が表示されます。このテーブルの実際の (内部の) 名前は、SHOW CREATE TABLE の出力に表示されます。

  • ndb_slave_conflict_role

    表 18.60  ndb_slave_conflict_role の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_slave_conflict_role

    はい はい いいえ
    はい グローバル はい
    NDB 7.3 列挙 NONE / NONE、PRIMARY、SECONDARY、PASS

    説明: スレーブが、競合の検出と解決で果たすロール。値は PRIMARY、SECONDARY、PASS、NONE (デフォルト) のいずれかです。スレーブ SQL スレッドが停止されている場合にのみ変更できます。詳細は、ドキュメントを参照してください。


    循環 (アクティブ-アクティブ) レプリケーションセットアップでのこの SQL ノード (および MySQL Cluster) のロールを指定します。ndb_slave_conflict_role では、PRIMARYSECONDARYPASS、または NULL (デフォルト) のいずれかの値を取ることができます。ndb_slave_conflict_role を変更するには、その前にスレーブの SQL スレッドを停止する必要があります。また、これを PASSPRIMARY または SECONDARY のいずれかの間で直接変更することはできません。変更する場合は、SQL スレッドが停止していることを確認してから、先に SET @@GLOBAL.ndb_slave_conflict_role = 'NONE' を実行する必要があります。

    この変数は MySQL Cluster NDB 7.4.1 で追加されました。詳細は、セクション18.6.11「MySQL Cluster レプリケーションの競合解決」を参照してください。

  • ndb_table_no_logging

    表 18.61  ndb_table_no_logging の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_table_no_logging

    いいえ はい いいえ
    いいえ セッション はい
    NDB 7.3 ブール FALSE

    説明: この設定が有効なときに作成された NDB テーブルはディスクに対してチェックポイントを設定しません (ただし、テーブルスキーマファイルは作成されます)。テーブルが NDBCLUSTER で作成されるか、またはそれを使用するように変更されたときに有効な設定は、そのテーブルの有効期間にわたって保持されます。


    この変数を ON または 1 に設定すると、NDB テーブルのチェックポイントがディスクに対して実行されなくなります。より具体的には、この設定は ndb_table_no_logging が有効になっているときに ENGINE NDB を使用して作成または変更されたテーブルに適用され、あとで ndb_table_no_logging が変更された場合でも、テーブルの存続期間にわたって適用され続けます。ここに示すように、テーブル ABC、および D を作成 (および変更) して、ndb_table_no_logging の設定も変更したとします。

    SET @@ndb_table_no_logging = 1;
    
    CREATE TABLE A ... ENGINE NDB;
    
    CREATE TABLE B ... ENGINE MYISAM;
    CREATE TABLE C ... ENGINE MYISAM;
    
    ALTER TABLE B ENGINE NDB;
    
    SET @@ndb_table_no_logging = 0;
    
    CREATE TABLE D ... ENGINE NDB;
    ALTER TABLE C ENGINE NDB;
    
    SET @@ndb_table_no_logging = 1;

    前の一連のイベントのあと、テーブル AB のチェックポイントは実行されません (AENGINE NDB を使用して作成され、B は NDB を使用するように変更されましたが、どちらも ndb_table_no_logging の有効時に行われたため)。ただし、テーブル CD は記録されます (CNDB を使用するように変更され、DENGINE NDB を使用して作成されましたが、どちらも ndb_table_no_logging の無効時に行われたため)。ndb_table_no_logging1 または ON に再度設定しても、テーブル C または D のチェックポイントは実行されません

    注記

    ndb_table_no_logging は、NDB テーブルスキーマファイルの作成では無効になります。これをサポートするには、代わりに ndb_table_temporary を使用してください。

  • ndb_table_temporary

    表 18.62  ndb_table_temporary の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_table_temporary

    いいえ はい いいえ
    いいえ セッション はい
    NDB 7.3 ブール FALSE

    説明: NDB テーブルはディスク上で永続的ではありません。スキーマファイルは作成されず、テーブルはログに記録されません


    この変数を ON または 1 に設定すると、NDB テーブルがディスクに書き込まれなくなります。これは、テーブルスキーマファイルが作成されず、テーブルが記録されないことを意味します。

    注記

    MySQL Cluster NDB 7.0 以降では、現在のところ、この変数を設定しても無効になります。これは既知の問題です。Bug #34036 を参照してください。

  • ndb_use_copying_alter_table

    表 18.63  ndb_use_copying_alter_table の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_use_copying_alter_table

    いいえ はい いいえ
    いいえ 両方 いいえ

    説明: MySQL Cluster で ALTER TABLE 操作のコピーを使用


    オンラインの ALTER TABLE 操作で問題が発生したときに、NDB によりテーブルのコピーが強制的に使用されます。デフォルト値は OFF です。

  • ndb_use_exact_count

    表 18.64  ndb_use_exact_count の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_use_exact_count

    いいえ はい いいえ
    いいえ 両方 はい
    NDB 7.3 ブール ON
    5.1.47-ndb-7.1.8 ブール OFF

    説明: クエリーを計画する際に正確な行数を使用


    SELECT COUNT(*) クエリーでこのタイプのクエリーの高速化を計画するときに、NDB によりレコードのカウントが強制的に使用されます。デフォルト値は OFF で、クエリー全体が高速化されます。

  • ndb_use_transactions

    表 18.65  ndb_use_transactions の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_use_transactions

    はい はい いいえ
    はい 両方 はい
    NDB 7.3 ブール ON

    説明: SELECT COUNT(*) クエリー計画中に、強制的に NDB にレコードの数を使用してこのタイプのクエリーを高速化させる


    NDB のトランザクションサポートを無効にするには、この変数の値を OFF に設定します (推奨されません)。デフォルトは ON です。

  • ndb_version

    表 18.66  ndb_version の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_version

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 文字列

    説明: ビルドおよび NDB エンジンのバージョンを整数として表示します。


    NDB エンジンのバージョン (合成整数として)。

  • ndb_version_string

    表 18.67  ndb_version_string の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndb_version_string

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 文字列

    説明: NDB エンジンのバージョンを含むビルド情報を ndb-x.y.z の形式で表示します。


    NDB エンジンのバージョン (ndb-x.y.z 形式)。

  • server_id_bits

    表 18.68  server_id_bits の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    server_id_bits

    はい はい いいえ
    はい グローバル いいえ
    NDB 7.3 数値 32 / 7 - 32

    説明: --server-id-bits オプションがデフォルト以外の値に設定された状態でサーバーが起動された場合の server_id の有効な値。


    --server-id-bits オプションをデフォルト以外の値に設定してサーバーを起動した場合の server_id の有効値。

    server_id の値が 2 の server_id_bits 乗以上の場合、mysqld は起動を拒否します。

    このシステム変数は MySQL Cluster でのみサポートされます。server_id_bits は標準の MySQL Server ではサポートされません。

  • transaction_allow_batching

    表 18.69  transaction_allow_batching の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    transaction_allow_batching

    いいえ はい いいえ
    いいえ セッション はい
    NDB 7.3 ブール FALSE

    説明: トランザクション内でのステートメントのバッチ化を許可します。使用するには AUTOCOMMIT を無効にします。


    この変数を 1 または ON に設定すると、同じトランザクション内のステートメントのバッチ化が有効になります。この変数を使用するには、先に autocommit0 または OFF に設定して無効にする必要があります。これを実行しない場合、transaction_allow_batching を設定しても無効になります。

    この変数は、有効にすると以前のイメージから読み取りが行われる可能性があるため、書き込みのみを実行するトランザクションで使用するのが安全です。SELECT を発行する前に、(必要に応じて明示的な COMMIT を使用して) 保留中のトランザクションをすべて確実にコミットするようにしてください。

    重要

    特定のステートメントの効果が同じトランザクション内の前のステートメントの結果に依存する可能性がある場合は、transaction_allow_batching を使用しないでください。

    この変数は、現在のところ MySQL Cluster でのみサポートされます。

次のリストのシステム変数は、すべて ndbinfo 情報データベースに関連するものです。

  • ndbinfo_database

    表 18.70  ndbinfo_database の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_database

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 文字列 ndbinfo

    説明: NDB 情報データベースに使用される名前。読み取り専用。


    NDB 情報データベースに使用される名前を示します。デフォルトは ndbinfo です。これは、コンパイル時に値が指定される読み取り専用の変数です。これを設定するには、--ndbinfo-database=name を使用してサーバーを起動します。これにより、この変数で示される値が設定されますが、NDB 情報データベースに使用される名前は実際には変更されません。

  • ndbinfo_max_bytes

    表 18.71  ndbinfo_max_bytes の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_max_bytes

    はい はい いいえ
    いいえ 両方 はい
    NDB 7.3 数値 0 / -

    説明: デバッグにのみ使用されます。


    テストとデバッグでのみ使用されます。

  • ndbinfo_max_rows

    表 18.72  ndbinfo_max_rows の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_max_rows

    はい はい いいえ
    いいえ 両方 はい
    NDB 7.3 数値 10 / -

    説明: デバッグにのみ使用されます。


    テストとデバッグでのみ使用されます。

  • ndbinfo_offline

    表 18.73  ndbinfo_offline の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_offline

    いいえ はい いいえ
    いいえ グローバル はい
    NDB 7.3 ブール OFF

    説明: ndbinfo データベースをオフラインモードにします。この場合、テーブルまたはビューから行は返されません。


    ndbinfo データベースをオフラインモードにします。オフラインモードでは、テーブルやビューが実際には存在しない場合や、存在するが NDB での定義が異なる場合でも、テーブルやビューを開くことができます。このようなテーブル (またはビュー) からは、行は返されません。

  • ndbinfo_show_hidden

    表 18.74  ndbinfo_show_hidden の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_show_hidden

    はい はい いいえ
    いいえ 両方 はい
    NDB 7.3 ブール OFF

    説明: ndbinfo 内部ベーステーブルを mysql クライアントで表示するかどうか。デフォルトは OFF です。


    ndbinfo データベースのベースとなる内部テーブルが mysql クライアントに表示されるかどうか。デフォルトは OFF です。

  • ndbinfo_table_prefix

    表 18.75  ndbinfo_table_prefix の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_table_prefix

    はい はい いいえ
    いいえ 両方 はい
    NDB 7.3 文字列 ndb$

    説明: ndbinfo 内部ベーステーブルの命名に使用するプリフィクス


    ndbinfo データベースのベーステーブル (ndbinfo_show_hidden を設定して公開されないかぎり、通常は非表示です) の名前に使用されるプリフィクス。これは読み取り専用の変数であり、デフォルト値は ndb$ です。サーバーの起動時に --ndbinfo-table-prefix オプションを使用できますが、その場合はこの変数が設定されるだけで、非表示のベーステーブルの名前に使用される実際のプリフィクスは変更されません。プリフィクス自体はコンパイル時に指定されます。

  • ndbinfo_version

    表 18.76  ndbinfo_version の型と値の情報

    コマンド行 システム変数 ステータス変数
    オプションファイル スコープ 動的
    開始バージョン デフォルト、範囲
    メモ

    ndbinfo_version

    いいえ はい いいえ
    いいえ グローバル いいえ
    NDB 7.3 文字列

    説明: ndbinfo エンジンのバージョン。読み取り専用。


    使用中の ndbinfo エンジンのバージョンを示します (読み取り専用)。


User Comments
Sign Up Login You must be logged in to post a comment.