ndb_index_stat 提供有關 NDB
資料表上索引的每個片段統計資訊。這包括快取版本和存在時間、每個分割區的索引項目數以及索引使用的記憶體。
用法
若要取得有關給定 NDB
資料表的基本索引統計資訊,請如下所示呼叫 ndb_index_stat,其中資料表名稱為第一個引數,而包含此資料表的資料庫名稱則緊接在後,使用 --database
(-d
) 選項
ndb_index_stat table -d database
在此範例中,我們使用 ndb_index_stat 來取得有關 test
資料庫中名為 mytable
的 NDB
資料表的這類資訊
$> 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
sampleVersion
是擷取統計資料的快取版本號碼。使用 ndb_index_stat 和 --update
選項會使 sampleVersion 遞增。
loadTime
顯示上次更新快取的時間。這表示為自 Unix Epoch 以來的秒數。
sampleCount
是每個分割區中找到的索引項目數。您可以將此數乘以片段數(顯示為 fragCount
)來估計項目總數。
雖然 SHOW INDEX
或 INFORMATION_SCHEMA.STATISTICS
提供整個資料表的檢視,但 sampleCount
可以與這些的基數比較,而 ndb_index_stat 提供每個片段的平均值。
keyBytes
是索引使用的位元組數。在此範例中,主索引鍵是整數,每個索引需要四個位元組,因此 keyBytes
在此情況下可以按如下所示計算
keyBytes = sampleCount * (4 bytes per index) = 1994 * 4 = 7976
也可以使用 INFORMATION_SCHEMA.COLUMNS
中的對應資料行定義取得此資訊(這需要 MySQL 伺服器和 MySQL 用戶端應用程式)。
totalBytes
是資料表上所有索引使用的總記憶體,以位元組為單位。
先前範例中顯示的計時特定於每次呼叫 ndb_index_stat。
--verbose
選項提供一些額外輸出,如下所示
$> 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
$>
如果程式的輸出為空,則可能表示尚無統計資訊存在。若要強制建立統計資訊(如果已經存在,則更新統計資訊),請使用 ndb_index_stat 和 --update
選項,或在 mysql 用戶端中對資料表執行 ANALYZE TABLE
。
選項
下表包含特定於 NDB Cluster ndb_index_stat 工具的選項。其他說明列於下表之後。
-
命令列格式 --character-sets-dir=路徑
包含字元集的目錄。
-
命令列格式 --connect-retries=#
類型 整數 預設值 12
最小值 0
最大值 12
放棄之前重試連線的次數。
-
命令列格式 --connect-retry-delay=#
類型 整數 預設值 5
最小值 0
最大值 5
嘗試聯絡管理伺服器之間等待的秒數。
-
命令列格式 --connect-string=連線字串
類型 字串 預設值 [無]
與
--ndb-connectstring
相同。 -
命令列格式 --core-file
發生錯誤時寫入核心檔案;用於偵錯。
--database=
,名稱
-d
名稱
命令列格式 --database=名稱
類型 字串 預設值 [無]
最小值 最大值 包含正在查詢之資料表的資料庫名稱。
-
命令列格式 --defaults-extra-file=路徑
類型 字串 預設值 [無]
讀取全域檔案後讀取給定檔案。
-
命令列格式 --defaults-file=路徑
類型 字串 預設值 [無]
僅從給定檔案讀取預設選項。
-
命令列格式 --defaults-group-suffix=字串
類型 字串 預設值 [無]
同時讀取帶有 concat(群組、字尾) 的群組。
-
命令列格式 --delete
刪除指定表格的索引統計資訊,並停止先前設定的任何自動更新。
-
命令列格式 --dump
傾印查詢快取的内容。
-
命令列格式 --help
顯示說明文字並結束。
-
命令列格式 --login-path=路徑
類型 字串 預設值 [無]
從登入檔案讀取指定的路徑。
-
命令列格式 --no-login-paths
跳過從登入路徑檔案讀取選項。
-
命令列格式 --loops=#
類型 數值 預設值 0
最小值 0
最大值 MAX_INT
重複執行命令的次數(用於測試)。
-
命令列格式 --ndb-connectstring=連線字串
類型 字串 預設值 [無]
設定連接到 ndb_mgmd 的連線字串。語法:
[nodeid=
。覆寫id
;][host=]hostname
[:port
]NDB_CONNECTSTRING
和my.cnf
中的項目。 -
命令列格式 --ndb-mgm-tls=層級
類型 列舉 預設值 relaxed
有效值 relaxed
strict
設定連接管理伺服器所需的 TLS 支援層級;可為
relaxed
或strict
其中之一。relaxed
(預設值)表示嘗試 TLS 連線,但不強制要求成功;strict
表示必須使用 TLS 才能連線。 -
命令列格式 --ndb-mgmd-host=連線字串
類型 字串 預設值 [無]
與
--ndb-connectstring
相同。 -
命令列格式 --ndb-nodeid=#
類型 整數 預設值 [無]
設定此節點的節點 ID,覆寫由
--ndb-connectstring
設定的任何 ID。 --ndb-optimized-node-selection
命令列格式 --ndb-optimized-node-selection
啟用用於交易節點選取的最佳化。預設為啟用;使用
--skip-ndb-optimized-node-selection
停用。-
命令列格式 --ndb-tls-search-path=清單
類型 路徑名稱 預設值 (Unix) $HOME/ndb-tls
預設值 (Windows) $HOMEDIR/ndb-tls
指定要搜尋 CA 檔案的目錄清單。在 Unix 平台上,目錄名稱以冒號 (
:
) 分隔;在 Windows 系統上,則使用分號字元 (;
) 作為分隔符號。目錄參考可以是相對或絕對路徑;可以包含一個或多個環境變數,每個變數都以美元符號 ($
) 作為字首,並在使用前展開。搜尋從最左邊的指定目錄開始,並從左到右進行,直到找到檔案為止。空字串表示空的搜尋路徑,這會導致所有搜尋失敗。由單個點 (
.
) 組成的字串表示搜尋路徑僅限於目前的工作目錄。如果未提供搜尋路徑,則會使用編譯時的預設值。此值取決於所使用的平台:在 Windows 上,此值為
\ndb-tls
;在其他平台(包括 Linux)上,則為$HOME/ndb-tls
。可以使用-DWITH_NDB_TLS_SEARCH_PATH
編譯 NDB Cluster 來覆寫此值。 -
命令列格式 --no-defaults
不從登入檔案以外的任何選項檔案讀取預設選項。
-
命令列格式 --print-defaults
列印程式引數清單並結束。
-
命令列格式 --query=#
類型 數值 預設值 0
最小值 0
最大值 MAX_INT
在第一個金鑰屬性上執行隨機範圍查詢 (必須為 int unsigned)。
-
命令列格式 --sys-drop
刪除 NDB 核心中的所有統計資訊表格和事件。這會導致所有統計資訊遺失。
-
命令列格式 --sys-create
在 NDB 核心中建立所有統計資訊表格和事件。只有在先前不存在任何統計資訊表格和事件時,此操作才會生效。
-
命令列格式 --sys-create-if-not-exist
在程式叫用時,建立任何尚不存在的 NDB 系統統計資訊表格或事件(或兩者)。
-
命令列格式 --sys-create-if-not-valid
在刪除任何無效的 NDB 系統統計資訊表格或事件後,建立任何尚不存在的項目。
-
命令列格式 --sys-check
驗證 NDB 核心中是否存在所有必要的系統統計資訊表格和事件。
-
命令列格式 --sys-skip-tables
不將任何
--sys-*
選項套用至任何統計資訊表格。 -
命令列格式 --sys-skip-events
不將任何
--sys-*
選項套用至任何事件。 -
命令列格式 --update
更新指定表格的索引統計資訊,並重新啟動先前設定的任何自動更新。
-
命令列格式 --usage
顯示說明文字並結束;與
--help
相同。 -
命令列格式 --verbose
開啟詳細輸出。
-
命令列格式 --version
顯示版本資訊並結束。
ndb_index_stat 系統選項。 以下選項用於在 NDB 核心中產生和更新統計資訊表格。這些選項都不能與統計資訊選項混合使用(請參閱ndb_index_stat 統計資訊選項)。
ndb_index_stat 統計資訊選項。 此處列出的選項用於產生索引統計資訊。它們可與指定的表格和資料庫搭配使用。它們不能與系統選項混合使用(請參閱ndb_index_stat 系統選項)。