このページは機械翻訳したものです。
ndb_index_stat は、NDB テーブルのインデックスに関するフラグメントごとの統計情報を表示します。 これには、キャッシュバージョンと経過期間、パーティションごとのインデックスエントリの数、およびインデックスによるメモリー使用量が含まれます。
使用法
指定したNDB テーブルの基本的なインデックス統計を取得するには、最初の引数としてテーブル名を指定し、--database (-d) オプションを使用してこのテーブルが含まれているデータベース名をその直後に指定して、ndb_index_stat を次のように呼び出します。
ndb_index_stattable -ddatabase この例では、ndb_index_stat を使用して、test データベースのmytable という名前のNDB テーブルに関するそのような情報を取得しています。
shell> ndb_index_stat -d test mytabletable:City index:PRIMARY fragCount:2sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976query cache: valid:1 sampleCount:1994 totalBytes:27916times in ms: save: 7.133 sort: 1.974 sort per sample: 0.000NDBT_ProgramExit: 0 - OKsampleVersion は、統計データが取得されたキャッシュのバージョン番号です。--update オプションを指定してndb_index_stat を実行すると、sampleVersion が増分されます。
loadTime はキャッシュが最後に更新された時間を示しています。 これは UNIX エポックからの秒数として表されます。
sampleCount はパーティションごとに見つかったインデックスエントリの数です。 エントリの合計数を見積もるには、これをフラグメントの数 (fragCount として表示されます) で乗算します。
sampleCount はSHOW INDEX またはINFORMATION_SCHEMA.STATISTICS のカーディナリティーと似ています。ただし、後者の 2 つはテーブル全体の統計を示し、ndb_index_stat はフラグメントごとの平均を示します。
keyBytes はインデックスによって使用されるバイト数です。 この例では、主キーは整数であり、各インデックスに 4 バイトが必要となるため、keyBytes はこの場合次のように計算できます。
keyBytes = sampleCount * (4 bytes per index) = 1994 * 4 = 7976 この情報は、INFORMATION_SCHEMA.COLUMNS の対応するカラム定義を使用して取得することもできます (これには、MySQL Server および MySQL クライアントアプリケーションが必要となります)。
totalBytes はテーブルのすべてのインデックスで使用される合計メモリーです (バイト単位)。
前述の例に示されている時間は、ndb_index_stat の各呼び出しに固有のものです。
--verbose オプションを指定すると、次のように追加出力が表示されます。
shell> ndb_index_stat -d test mytable --verboserandom seed 1337010518connectedloop 1 of 1table:mytable index:PRIMARY fragCount:4sampleVersion:2 loadTime:1336751773 sampleCount:0 keyBytes:0read statsquery cache createdquery cache: valid:1 sampleCount:0 totalBytes:0times in ms: save: 20.766 sort: 0.001disconnectedNDBT_ProgramExit: 0 - OKshell> プログラムからの出力がNDBT_ProgramExit: 0 - OK のみの場合は、統計がまだ存在しないことを示している可能性があります。 これらを強制的に作成 (またはすでに存在する場合は更新) するには、--update オプションを指定してndb_index_stat を起動するか、mysql クライアントのテーブルでANALYZE TABLE を実行します。
オプション
次のテーブルに、NDB Clusterndb_index_stat ユーティリティーに固有のオプションを示します。 詳しい説明は表のあとに一覧されています。 ほとんどの NDB Cluster プログラム (ndb_index_stat を含む) に共通のオプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」 を参照してください。
表 23.36 プログラムで使用されるコマンドライン・オプション ndb_index_stat
| 形式 | 説明 | 追加、非推奨、または削除された |
|---|---|---|
| テーブルが含まれているデータベースの名前 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| テーブルのインデックス統計を削除し、以前に構成された自動更新を停止 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| テーブルのインデックス統計を更新し、以前に構成された自動更新を再起動 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| クエリーキャッシュの印刷 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 最初のキー属性に対してランダム範囲クエリーを実行します (int unsigned である必要があります) | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| NDB カーネルの統計テーブルおよびイベントを削除します (すべての統計が失われます) | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| NDB カーネルにすべての統計テーブルおよびイベントを作成します (それらがまったく存在していなかった場合) | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| NDB カーネルにあらかじめ存在しない統計テーブルおよびイベントを作成します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| NDB カーネルにまだ存在しない統計テーブルまたはイベントを、無効なものを削除したあとに作成 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| NDB システムのインデックス統計およびイベントテーブルが存在することを確認します | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| sys-* オプションをテーブルに適用しません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| sys-* オプションをイベントに適用しません | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 冗長出力を有効にします | (MySQLに基づくすべてのNDBリリースでサポート 8.0) | |
| 指定したコマンドを実行する回数を設定します。デフォルトは 0 です | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
ndb_index_stat の統計オプション. 次のオプションはインデックス統計を生成するために使用します。 これらは指定されたテーブルおよびデータベースを処理します。 これらはシステムオプション (ndb_index_stat のシステムオプションを参照してください) と混在させることはできません。
コマンド行形式 --database=name型 文字列 デフォルト値 [none]最小値 最大値 問い合わせるテーブルが含まれているデータベースの名前。
コマンド行形式 --delete型 Boolean デフォルト値 false最小値 最大値 指定したテーブルのインデックス統計を削除し、以前構成された自動更新を停止します。
コマンド行形式 --update型 Boolean デフォルト値 false最小値 最大値 指定したテーブルのインデックス統計を更新し、以前構成された自動更新を再開します。
コマンド行形式 --dump型 Boolean デフォルト値 false最小値 最大値 クエリーキャッシュの内容をダンプします。
コマンド行形式 --query=#型 数値 デフォルト値 0最小値 0最大値 MAX_INT最初のキー属性 (符号なしの int である必要があります) に対してランダム範囲クエリーを実行します。
ndb_index_stat のシステムオプション. 次のオプションは、NDB カーネルの統計テーブルを生成および更新するために使用します。 これらのオプションは、統計オプションと混在させることはできません (ndb_index_stat の統計オプションを参照してください)。
コマンド行形式 --sys-drop型 Boolean デフォルト値 false最小値 最大値 NDB カーネルのすべての統計テーブルおよびイベントを削除します。これを実行すると、すべての統計が失われます。
コマンド行形式 --sys-create型 Boolean デフォルト値 false最小値 最大値 NDB カーネルにすべての統計テーブルおよびイベントを作成します。 これはそれらがあらかじめ存在していなかった場合にのみ動作します。
コマンド行形式 --sys-create-if-not-exist型 Boolean デフォルト値 false最小値 最大値 このプログラムが呼び出されたときにあらかじめ存在していなかった NDB システム統計テーブルまたはイベント (あるいはその両方) を作成します。
コマンド行形式 --sys-create-if-not-valid型 Boolean デフォルト値 false最小値 最大値 無効なものを削除したあとにあらかじめ存在していなかった NDB システムの統計テーブルまたはイベントを作成します。
コマンド行形式 --sys-check型 Boolean デフォルト値 false最小値 最大値 必要なすべてのシステム統計テーブルおよびイベントが NDB カーネルに存在することを検証します。
コマンド行形式 --sys-skip-tables型 Boolean デフォルト値 false最小値 最大値 --sys-*オプションを統計テーブルに適用しません。コマンド行形式 --sys-skip-events型 Boolean デフォルト値 false最小値 最大値 --sys-*オプションをイベントに適用しません。コマンド行形式 --verbose型 Boolean デフォルト値 false最小値 最大値 冗長出力を有効にします。
コマンド行形式 --loops=#型 数値 デフォルト値 0最小値 0最大値 MAX_INTコマンドをこの回数繰り返します (テストで使用するため)。