ndb_index_stat は、NDB
テーブルのインデックスに関するフラグメントごとの統計情報を表示します。これには、キャッシュバージョンと経過期間、パーティションごとのインデックスエントリの数、およびインデックスによるメモリー使用量が含まれます。
使用法
指定した NDB
テーブルの基本的なインデックス統計を取得するには、最初の引数としてテーブル名を指定し、--database
(-d
) オプションを使用してこのテーブルが含まれているデータベース名をその直後に指定して、ndb_index_stat を次のように呼び出します。
ndb_index_stat table -d database
この例では、ndb_index_stat を使用して、test
データベースの mytable
という名前の NDB
テーブルに関するそのような情報を取得しています。
shell> ndb_index_stat -d test mytable
table:City index:PRIMARY fragCount:2
sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976
query cache: valid:1 sampleCount:1994 totalBytes:27916
times in ms: save: 7.133 sort: 1.974 sort per sample: 0.000
NDBT_ProgramExit: 0 - OK
sampleVersion
は、統計データが取得されたキャッシュのバージョン番号です。--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 --verbose
random seed 1337010518
connected
loop 1 of 1
table:mytable index:PRIMARY fragCount:4
sampleVersion:2 loadTime:1336751773 sampleCount:0 keyBytes:0
read stats
query cache created
query cache: valid:1 sampleCount:0 totalBytes:0
times in ms: save: 20.766 sort: 0.001
disconnected
NDBT_ProgramExit: 0 - OK
shell>
オプション
次の表には、MySQL Cluster ndb_index_stat ユーティリティーに固有のオプションが含まれています。詳しい説明は表のあとに一覧されています。ほとんどの MySQL Cluster プログラム (ndb_index_stat を含む) に共通するオプションについては、セクション18.4.27「MySQL Cluster プログラムに共通するオプション — MySQL Cluster プログラムに共通するオプション」を参照してください。
表 18.88 この表は、ndb_index_stat プログラムのコマンド行オプションについて説明しています
形式 | 説明 | 追加または削除 |
---|---|---|
テーブルが含まれているデータベースの名前。 |
すべての MySQL 5.6 ベースリリース |
|
指定されたテーブルのインデックス統計を削除し、以前に構成された自動更新を停止します。 |
すべての MySQL 5.6 ベースリリース |
|
指定されたテーブルのインデックス統計を更新し、以前に構成された自動更新を再開します。 |
すべての MySQL 5.6 ベースリリース |
|
クエリーキャッシュを出力します。 |
すべての MySQL 5.6 ベースリリース |
|
最初のキー属性 (符号なしの int である必要があります) に対して多数のランダム範囲クエリーを実行します。 |
すべての MySQL 5.6 ベースリリース |
|
NDB カーネルの統計テーブルおよびイベントを削除します (すべての統計が失われます) |
すべての MySQL 5.6 ベースリリース |
|
NDB カーネルにすべての統計テーブルおよびイベントを作成します (それらがまったく存在していなかった場合) |
すべての MySQL 5.6 ベースリリース |
|
NDB カーネルにあらかじめ存在しない統計テーブルおよびイベントを作成します。 |
すべての MySQL 5.6 ベースリリース |
|
無効なものを削除したあとに、NDB カーネルにあらかじめ存在しない統計テーブルまたはイベントを作成します。 |
すべての MySQL 5.6 ベースリリース |
|
NDB システムのインデックス統計およびイベントテーブルが存在することを確認します。 |
すべての MySQL 5.6 ベースリリース |
|
sys-* オプションをテーブルに適用しません。 |
すべての MySQL 5.6 ベースリリース |
|
sys-* オプションをイベントに適用しません。 |
すべての MySQL 5.6 ベースリリース |
|
冗長出力を有効にします |
すべての MySQL 5.6 ベースリリース |
|
指定されたコマンドを実行する回数を設定します。デフォルトは 0 です。 |
すべての MySQL 5.6 ベースリリース |
ndb_index_stat の統計オプション 次のオプションはインデックス統計を生成するために使用します。これらは指定されたテーブルおよびデータベースを処理します。これらはシステムオプション (ndb_index_stat のシステムオプションを参照してください) と混在させることはできません。
-
コマンド行形式 --database=name
型 文字列 デフォルト [none]
最小値 最大値 問い合わせるテーブルが含まれているデータベースの名前。
-
コマンド行形式 --delete
型 ブール デフォルト false
最小値 最大値 指定したテーブルのインデックス統計を削除し、以前構成された自動更新を停止します。
-
コマンド行形式 --update
型 ブール デフォルト false
最小値 最大値 指定したテーブルのインデックス統計を更新し、以前構成された自動更新を再開します。
-
コマンド行形式 --dump
型 ブール デフォルト false
最小値 最大値 クエリーキャッシュの内容をダンプします。
-
コマンド行形式 --query=#
型 数値 デフォルト 0
最小値 0
最大値 MAX_INT
最初のキー属性 (符号なしの int である必要があります) に対してランダム範囲クエリーを実行します。
ndb_index_stat のシステムオプション 次のオプションは、NDB カーネルの統計テーブルを生成および更新するために使用します。これらのオプションは、統計オプションと混在させることはできません (ndb_index_stat の統計オプションを参照してください)。
-
コマンド行形式 --sys-drop
型 ブール デフォルト false
最小値 最大値 NDB カーネルのすべての統計テーブルおよびイベントを削除します。これを実行すると、すべての統計が失われます。
-
コマンド行形式 --sys-create
型 ブール デフォルト false
最小値 最大値 NDB カーネルにすべての統計テーブルおよびイベントを作成します。これはそれらがあらかじめ存在していなかった場合にのみ動作します。
-
コマンド行形式 --sys-create-if-not-exist
型 ブール デフォルト false
最小値 最大値 このプログラムが呼び出されたときにあらかじめ存在していなかった NDB システム統計テーブルまたはイベント (あるいはその両方) を作成します。
-
コマンド行形式 --sys-create-if-not-valid
型 ブール デフォルト false
最小値 最大値 無効なものを削除したあとにあらかじめ存在していなかった NDB システムの統計テーブルまたはイベントを作成します。
-
コマンド行形式 --sys-check
型 ブール デフォルト false
最小値 最大値 必要なすべてのシステム統計テーブルおよびイベントが NDB カーネルに存在することを検証します。
-
コマンド行形式 --sys-skip-tables
型 ブール デフォルト false
最小値 最大値 --sys-*
オプションを統計テーブルに適用しません。 -
コマンド行形式 --sys-skip-events
型 ブール デフォルト false
最小値 最大値 --sys-*
オプションをイベントに適用しません。 -
コマンド行形式 --verbose
型 ブール デフォルト false
最小値 最大値 冗長出力を有効にします。
-
コマンド行形式 --loops=#
型 数値 デフォルト 0
最小値 0
最大値 MAX_INT
コマンドをこの回数繰り返します (テストで使用するため)。