文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  ndb_index_stat — NDB 索引統計工具

25.5.14 ndb_index_stat — NDB 索引統計工具

ndb_index_stat 提供有關 NDB 資料表上索引的每個片段統計資訊。這包括快取版本和存在時間、每個分割區的索引項目數以及索引使用的記憶體。

用法

若要取得有關給定 NDB 資料表的基本索引統計資訊,請如下所示呼叫 ndb_index_stat,其中資料表名稱為第一個引數,而包含此資料表的資料庫名稱則緊接在後,使用 --database (-d) 選項

ndb_index_stat table -d database

在此範例中,我們使用 ndb_index_stat 來取得有關 test 資料庫中名為 mytableNDB 資料表的這類資訊

$> 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 INDEXINFORMATION_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

    命令列格式 --character-sets-dir=路徑

    包含字元集的目錄。

  • --connect-retries

    命令列格式 --connect-retries=#
    類型 整數
    預設值 12
    最小值 0
    最大值 12

    放棄之前重試連線的次數。

  • --connect-retry-delay

    命令列格式 --connect-retry-delay=#
    類型 整數
    預設值 5
    最小值 0
    最大值 5

    嘗試聯絡管理伺服器之間等待的秒數。

  • --connect-string

    命令列格式 --connect-string=連線字串
    類型 字串
    預設值 [無]

    --ndb-connectstring 相同。

  • --core-file

    命令列格式 --core-file

    發生錯誤時寫入核心檔案;用於偵錯。

  • --database=名稱, -d 名稱

    命令列格式 --database=名稱
    類型 字串
    預設值 [無]
    最小值
    最大值

    包含正在查詢之資料表的資料庫名稱。

  • --defaults-extra-file

    命令列格式 --defaults-extra-file=路徑
    類型 字串
    預設值 [無]

    讀取全域檔案後讀取給定檔案。

  • --defaults-file

    命令列格式 --defaults-file=路徑
    類型 字串
    預設值 [無]

    僅從給定檔案讀取預設選項。

  • --defaults-group-suffix

    命令列格式 --defaults-group-suffix=字串
    類型 字串
    預設值 [無]

    同時讀取帶有 concat(群組、字尾) 的群組。

  • --delete

    命令列格式 --delete

    刪除指定表格的索引統計資訊,並停止先前設定的任何自動更新。

  • --dump

    命令列格式 --dump

    傾印查詢快取的内容。

  • --help

    命令列格式 --help

    顯示說明文字並結束。

  • --login-path

    命令列格式 --login-path=路徑
    類型 字串
    預設值 [無]

    從登入檔案讀取指定的路徑。

  • --no-login-paths

    命令列格式 --no-login-paths

    跳過從登入路徑檔案讀取選項。

  • --loops=#

    命令列格式 --loops=#
    類型 數值
    預設值 0
    最小值 0
    最大值 MAX_INT

    重複執行命令的次數(用於測試)。

  • --ndb-connectstring

    命令列格式 --ndb-connectstring=連線字串
    類型 字串
    預設值 [無]

    設定連接到 ndb_mgmd 的連線字串。語法:[nodeid=id;][host=]hostname[:port]。覆寫 NDB_CONNECTSTRINGmy.cnf 中的項目。

  • --ndb-mgm-tls

    命令列格式 --ndb-mgm-tls=層級
    類型 列舉
    預設值 relaxed
    有效值

    relaxed

    strict

    設定連接管理伺服器所需的 TLS 支援層級;可為 relaxedstrict 其中之一。relaxed (預設值)表示嘗試 TLS 連線,但不強制要求成功;strict 表示必須使用 TLS 才能連線。

  • --ndb-mgmd-host

    命令列格式 --ndb-mgmd-host=連線字串
    類型 字串
    預設值 [無]

    --ndb-connectstring 相同。

  • --ndb-nodeid

    命令列格式 --ndb-nodeid=#
    類型 整數
    預設值 [無]

    設定此節點的節點 ID,覆寫由 --ndb-connectstring 設定的任何 ID。

  • --ndb-optimized-node-selection

    命令列格式 --ndb-optimized-node-selection

    啟用用於交易節點選取的最佳化。預設為啟用;使用 --skip-ndb-optimized-node-selection 停用。

  • --ndb-tls-search-path

    命令列格式 --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

    命令列格式 --no-defaults

    不從登入檔案以外的任何選項檔案讀取預設選項。

  • --print-defaults

    命令列格式 --print-defaults

    列印程式引數清單並結束。

  • --query=#

    命令列格式 --query=#
    類型 數值
    預設值 0
    最小值 0
    最大值 MAX_INT

    在第一個金鑰屬性上執行隨機範圍查詢 (必須為 int unsigned)。

  • --sys-drop

    命令列格式 --sys-drop

    刪除 NDB 核心中的所有統計資訊表格和事件。這會導致所有統計資訊遺失

  • --sys-create

    命令列格式 --sys-create

    在 NDB 核心中建立所有統計資訊表格和事件。只有在先前不存在任何統計資訊表格和事件時,此操作才會生效。

  • --sys-create-if-not-exist

    命令列格式 --sys-create-if-not-exist

    在程式叫用時,建立任何尚不存在的 NDB 系統統計資訊表格或事件(或兩者)。

  • --sys-create-if-not-valid

    命令列格式 --sys-create-if-not-valid

    在刪除任何無效的 NDB 系統統計資訊表格或事件後,建立任何尚不存在的項目。

  • --sys-check

    命令列格式 --sys-check

    驗證 NDB 核心中是否存在所有必要的系統統計資訊表格和事件。

  • --sys-skip-tables

    命令列格式 --sys-skip-tables

    不將任何 --sys-* 選項套用至任何統計資訊表格。

  • --sys-skip-events

    命令列格式 --sys-skip-events

    不將任何 --sys-* 選項套用至任何事件。

  • --update

    命令列格式 --update

    更新指定表格的索引統計資訊,並重新啟動先前設定的任何自動更新。

  • --usage

    命令列格式 --usage

    顯示說明文字並結束;與 --help 相同。

  • --verbose

    命令列格式 --verbose

    開啟詳細輸出。

  • --version

    命令列格式 --version

    顯示版本資訊並結束。

ndb_index_stat 系統選項。  以下選項用於在 NDB 核心中產生和更新統計資訊表格。這些選項都不能與統計資訊選項混合使用(請參閱ndb_index_stat 統計資訊選項)。

ndb_index_stat 統計資訊選項。  此處列出的選項用於產生索引統計資訊。它們可與指定的表格和資料庫搭配使用。它們不能與系統選項混合使用(請參閱ndb_index_stat 系統選項)。