本節提供有關特定於 NDB 叢集的 MySQL Server 選項、伺服器和狀態變數的資訊。如需使用這些的一般資訊,以及其他非特定於 NDB 叢集的選項和變數,請參閱第 7.1 節,「MySQL Server」。
如需叢集設定檔(通常命名為 config.ini
)中使用的 NDB 叢集設定參數,請參閱第 25.4 節,「NDB 叢集設定」。
本節提供與 NDB 叢集相關的 mysqld 伺服器選項的描述。如需有關非特定於 NDB 叢集的 mysqld 選項的資訊,以及有關使用 mysqld 選項的一般資訊,請參閱第 7.1.7 節,「伺服器命令選項」。
如需有關其他 NDB 叢集處理程序使用的命令列選項的資訊,請參閱第 25.5 節,「NDB 叢集程式」。
-
命令列格式 --ndbcluster[=value]
停用方式 skip-ndbcluster
類型 列舉 預設值 ON
有效值 OFF
FORCE
使用 NDB 叢集時,
NDBCLUSTER
儲存引擎是必要的。如果 mysqld 二進制檔包含對NDBCLUSTER
儲存引擎的支援,則預設會停用該引擎。使用--ndbcluster
選項以啟用它。使用--skip-ndbcluster
來明確停用引擎。如果同時使用了
--initialize
,則會忽略--ndbcluster
選項(並且NDB
儲存引擎不會啟用)。(將此選項與--initialize
一起使用既非必要也不可取。) --ndb-allow-copying-alter-table=[ON|OFF]
命令列格式 --ndb-allow-copying-alter-table[={OFF|ON}]
系統變數 ndb_allow_copying_alter_table
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
讓
ALTER TABLE
和其他 DDL 陳述式在NDB
資料表上使用複製操作。設定為OFF
以避免發生此情況;這麼做可能會提高重要應用程式的效能。--ndb-applier-allow-skip-epoch
命令列格式 --ndb-applier-allow-skip-epoch
系統變數 ndb_applier_allow_skip_epoch
範圍 全域 動態 否 SET_VAR
提示套用否 與
--replica-skip-errors
一起使用,以使NDB
忽略略過的 epoch 交易。單獨使用時無效。-
命令列格式 --ndb-batch-size
系統變數 ndb_batch_size
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 32768
最小值 0
最大值 2147483648
單位 位元組 這會設定用於 NDB 交易批次的位元組大小。
--ndb-cluster-connection-pool=
#
命令列格式 --ndb-cluster-connection-pool
系統變數 ndb_cluster_connection_pool
系統變數 ndb_cluster_connection_pool
範圍 全域 範圍 全域 動態 否 動態 否 SET_VAR
提示套用否 SET_VAR
提示套用否 類型 整數 預設值 1
最小值 1
最大值 63
透過將此選項設定為大於 1 的值(預設值),mysqld 處理程序可以使用與叢集的多個連線,有效地模擬數個 SQL 節點。每個連線都需要叢集設定 (
config.ini
) 檔中自己的[api]
或[mysqld]
區段,並計入叢集支援的 API 連線數目上限。假設您有 2 部叢集主機電腦,每部都執行一個 SQL 節點,其 mysqld 處理程序是使用
--ndb-cluster-connection-pool=4
啟動的;這表示叢集必須有 8 個 API 插槽可用於這些連線(而不是 2 個)。所有這些連線都是在 SQL 節點連線至叢集時設定的,並且會以循環配置的方式分配給執行緒。只有在具有多個 CPU、多個核心或兩者的主機電腦上執行 mysqld 時,此選項才有用。為了獲得最佳結果,該值應該小於主機電腦上可用的核心總數。將其設定為大於此值的值可能會嚴重降低效能。
重要因為每個使用連線集區的 SQL 節點都會佔用多個 API 節點插槽 — 每個插槽在叢集中都有自己的節點 ID — 因此在啟動任何使用連線集區的 mysqld 處理程序時,請勿將節點 ID 用作叢集連線字串的一部分。
當 SQL 節點嘗試連線至叢集時,在使用
--ndb-cluster-connection-pool
選項時,在連線字串中設定節點 ID 會導致節點 ID 配置錯誤。--ndb-cluster-connection-pool-nodeids=
list
命令列格式 --ndb-cluster-connection-pool-nodeids
系統變數 ndb_cluster_connection_pool_nodeids
範圍 全域 動態 否 SET_VAR
提示套用否 類型 設定 預設值 指定 SQL 節點用來連線至叢集的節點 ID 的逗號分隔清單。此清單中的節點數目必須與
--ndb-cluster-connection-pool
選項設定的值相同。--ndb-blob-read-batch-bytes=
bytes
命令列格式 --ndb-blob-read-batch-bytes
系統變數 ndb_blob_read_batch_bytes
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 65536
最小值 0
最大值 4294967295
此選項可用於設定 NDB 叢集應用程式中
BLOB
資料讀取批次處理的大小(以位元組為單位)。當目前的交易中要讀取的BLOB
資料量超過此批次大小時,會立即執行任何擱置的BLOB
讀取操作。此選項的最大值為 4294967295;預設值為 65536。將其設定為 0 會停用
BLOB
讀取批次處理。注意在 NDB API 應用程式中,您可以使用
setMaxPendingBlobReadBytes()
和getMaxPendingBlobReadBytes()
方法來控制BLOB
寫入批次處理。--ndb-blob-write-batch-bytes=
bytes
命令列格式 --ndb-blob-write-batch-bytes
系統變數 ndb_blob_write_batch_bytes
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 65536
最小值 0
最大值 4294967295
單位 位元組 此選項可用於設定 NDB 叢集應用程式中
BLOB
資料寫入批次處理的大小(以位元組為單位)。當目前的交易中要寫入的BLOB
資料量超過此批次大小時,會立即執行任何擱置的BLOB
寫入操作。此選項的最大值為 4294967295;預設值為 65536。將其設定為 0 會停用
BLOB
寫入批次處理。注意在 NDB API 應用程式中,您可以使用
BLOB
寫入批次處理,透過setMaxPendingBlobWriteBytes()
和getMaxPendingBlobWriteBytes()
方法來控制。--ndb-connectstring=
connection_string
命令列格式 --ndb-connectstring
類型 字串 當使用
NDBCLUSTER
儲存引擎時,此選項指定了分配叢集組態資料的管理伺服器。請參閱 章節 25.4.3.3,「NDB 叢集連線字串」,了解語法。--ndb-default-column-format=[FIXED|DYNAMIC]
命令列格式 --ndb-default-column-format={FIXED|DYNAMIC}
系統變數 ndb_default_column_format
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 FIXED
有效值 FIXED
DYNAMIC
設定新資料表的預設
COLUMN_FORMAT
和ROW_FORMAT
(請參閱 章節 15.1.20,「CREATE TABLE 陳述式」)。預設值為FIXED
。--ndb-deferred-constraints=[0|1]
命令列格式 --ndb-deferred-constraints
系統變數 ndb_deferred_constraints
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 1
控制在支援的情況下,是否將唯一索引上的約束檢查延遲到提交時間。預設值為
0
。此選項通常不是 NDB 叢集或 NDB 叢集複製運作所必需的,主要用於測試。
-
命令列格式 --ndb-schema-dist-timeout=#
系統變數 ndb_schema_dist_timeout
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 120
最小值 5
最大值 1200
單位 秒 指定此 mysqld 等待結構描述操作完成的最長時間(以秒為單位),之後會將其標記為逾時。
--ndb-distribution=[KEYHASH|LINHASH]
命令列格式 --ndb-distribution={KEYHASH|LINHASH}
系統變數 ndb_distribution
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 KEYHASH
有效值 LINHASH
KEYHASH
控制
NDB
資料表的預設分配方法。可以設定為KEYHASH
(索引鍵雜湊)或LINHASH
(線性雜湊)。預設值為KEYHASH
。-
命令列格式 --ndb-log-apply-status[={OFF|ON}]
系統變數 ndb_log_apply_status
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
使複本 mysqld 將從其直接來源收到的任何更新,使用自己的伺服器 ID 而不是來源的伺服器 ID,記錄到其自身二進制日誌的
mysql.ndb_apply_status
資料表中。在循環或鏈式複製設定中,這允許此類更新傳播到配置為目前 mysqld 的複本的任何 MySQL 伺服器的mysql.ndb_apply_status
資料表中。在鏈式複製設定中,使用此選項允許下游(複本)叢集了解其相對於其所有上游貢獻者(來源)的位置。
在循環複製設定中,此選項會使
ndb_apply_status
資料表的變更完成整個循環,最終傳播回原始 NDB 叢集。這也允許充當複製來源的叢集查看其變更(週期)何時已套用到循環中的其他叢集。除非使用
--ndbcluster
選項啟動 MySQL 伺服器,否則此選項無效。 --ndb-log-empty-epochs=[ON|OFF]
命令列格式 --ndb-log-empty-epochs[={OFF|ON}]
系統變數 ndb_log_empty_epochs
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
使沒有變更的週期寫入到
ndb_apply_status
和ndb_binlog_index
資料表中,即使log_replica_updates
已啟用也是如此。預設情況下,此選項已停用。停用
--ndb-log-empty-epochs
會導致沒有變更的週期交易不會寫入二進制日誌,儘管即使對於ndb_binlog_index
中的空週期,仍會寫入一個資料列。由於
--ndb-log-empty-epochs=1
會導致ndb_binlog_index
資料表的大小獨立於二進制日誌的大小而增加,因此使用者應準備好管理此資料表的成長,即使他們預期叢集大部分時間處於閒置狀態也是如此。--ndb-log-empty-update=[ON|OFF]
命令列格式 --ndb-log-empty-update[={OFF|ON}]
系統變數 ndb_log_empty_update
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
使沒有產生變更的更新寫入到
ndb_apply_status
和ndb_binlog_index
資料表中,即使log_replica_updates
已啟用也是如此。預設情況下,此選項已停用 (
OFF
)。停用--ndb-log-empty-update
會導致沒有變更的更新不會寫入二進制日誌。--ndb-log-exclusive-reads=[0|1]
命令列格式 --ndb-log-exclusive-reads[={OFF|ON}]
系統變數 ndb_log_exclusive_reads
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 0
使用此選項啟動伺服器會導致主索引鍵讀取記錄帶有獨佔鎖定,這允許基於讀取衝突的 NDB 叢集複製衝突偵測和解決方案。您也可以在執行時透過將
ndb_log_exclusive_reads
系統變數的值設定為 1 或 0 來分別啟用和停用這些鎖定。預設值為 0(停用鎖定)。如需更多資訊,請參閱 讀取衝突偵測和解決方案。
-
命令列格式 --ndb-log-fail-terminate
系統變數 ndb_log_fail_terminate
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 FALSE
當指定此選項,且無法完整記錄所有找到的資料列事件時,會終止 mysqld 處理程序。
-
命令列格式 --ndb-log-orig[={OFF|ON}]
系統變數 ndb_log_orig
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
在
ndb_binlog_index
資料表中記錄原始伺服器 ID 和週期。注意這使得給定的週期可以在
ndb_binlog_index
中有多個資料列,每個原始週期一個。如需更多資訊,請參閱 章節 25.7.4,「NDB 叢集複製結構描述和資料表」。
--ndb-log-transaction-dependency
命令列格式 --ndb-log-transaction-dependency={true|false}
系統變數 ndb_log_transaction_dependency
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 false
使
NDB
二進制日誌記錄執行緒計算其寫入二進制日誌的每個交易的交易相依性。預設值為FALSE
。此選項無法在執行時設定;對應的
ndb_log_transaction_dependency
系統變數為唯讀。-
命令列格式 --ndb-log-transaction-id[={OFF|ON}]
系統變數 ndb_log_transaction_id
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
使複本 mysqld 在二進制日誌的每一列中寫入 NDB 交易 ID。預設值為
FALSE
。需要
--ndb-log-transaction-id
才能使用NDB$EPOCH_TRANS()
函數啟用 NDB 叢集複製衝突偵測和解決方案(請參閱 NDB$EPOCH_TRANS())。如需更多資訊,請參閱 章節 25.7.12,「NDB 叢集複製衝突解決方案」。 -
命令列格式 --ndb-log-update-as-write[={OFF|ON}]
系統變數 ndb_log_update_as_write
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
在來源上的更新是以更新 (
OFF
) 或寫入 (ON
) 形式寫入二進制日誌。當啟用此選項,且--ndb-log-updated-only
和--ndb-log-update-minimal
皆停用時,不同類型的操作會依照下列清單所述記錄INSERT
:記錄為沒有前影像的WRITE_ROW
事件;後影像會記錄所有欄位。UPDATE
:記錄為沒有前影像的WRITE_ROW
事件;後影像會記錄所有欄位。DELETE
:記錄為前影像中記錄所有欄位的DELETE_ROW
事件;不會記錄後影像。
此選項可與前面提到的另外兩個 NDB 日誌選項結合使用,以用於 NDB 複製衝突解決方案;請參閱 ndb_replication 資料表,了解更多資訊。
-
命令列格式 --ndb-log-updated-only[={OFF|ON}]
系統變數 ndb_log_updated_only
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
mysqld 是否僅將更新 (
ON
) 或完整資料列 (OFF
) 寫入二進制日誌。當啟用此選項,且--ndb-log-update-as-write
和--ndb-log-update-minimal
皆停用時,不同類型的操作會依照下列清單所述記錄INSERT
:記錄為沒有前影像的WRITE_ROW
事件;後影像會記錄所有欄位。UPDATE
:記錄為UPDATE_ROW
事件,前影像和後影像中都存在主索引鍵欄位和已更新的欄位。DELETE
:記錄為前影像中包含主索引鍵欄位的DELETE_ROW
事件;不會記錄後影像。
此選項可與前面提到的另外兩個 NDB 日誌選項結合使用,以用於 NDB 複製衝突解決方案;請參閱 ndb_replication 資料表,了解更多有關這些選項如何彼此互動的資訊。
-
命令列格式 --ndb-log-update-minimal[={OFF|ON}]
系統變數 ndb_log_update_minimal
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
以最小的方式記錄更新,方法是在前影像中僅寫入主索引鍵值,在後影像中僅寫入變更的欄位。如果複製到
NDB
以外的儲存引擎,這可能會導致相容性問題。當啟用此選項,且--ndb-log-updated-only
和--ndb-log-update-as-write
皆停用時,不同類型的操作會依照下列清單所述記錄INSERT
:記錄為沒有前影像的WRITE_ROW
事件;後影像會記錄所有欄位。UPDATE
:記錄為前影像中包含主索引鍵欄位的UPDATE_ROW
事件;所有欄位除了主索引鍵欄位外,都會記錄在後影像中。DELETE
:記錄為前影像中包含所有欄位的DELETE_ROW
事件;不會記錄後影像。
此選項可與前面提到的另外兩個 NDB 日誌選項結合使用,以用於 NDB 複製衝突解決方案;請參閱 ndb_replication 資料表,了解更多資訊。
--ndb-mgm-tls=[relaxed|strict]
命令列格式 --ndb-mgm-tls=[strict|relaxed]
系統變數 ndb_mgm_tls
範圍 全域 動態 否 SET_VAR
提示套用否 類型 列舉 預設值 relaxed
有效值 relaxed
strict
設定連線至 NDB Cluster 的 TLS 連線所需的 TLS 支援層級;值為
relaxed
或strict
其中之一。relaxed
表示嘗試 TLS 連線,但不要求必須成功;strict
表示必須使用 TLS 連線。預設值為relaxed
。-
命令列格式 --ndb-mgmd-host=host_name[:port_num]
類型 字串 預設值 localhost:1186
可用於設定程式要連線的單一管理伺服器的主機和連接埠號碼。如果程式在其連線資訊中需要節點 ID 或對多個管理伺服器 (或兩者) 的參照,請改用
--ndb-connectstring
選項。 -
命令列格式 --ndb-nodeid=#
狀態變數 Ndb_cluster_node_id
範圍 全域 動態 否 類型 整數 預設值 不適用
最小值 1
最大值 255
最大值 63
在 NDB Cluster 中設定此 MySQL 伺服器的節點 ID。
--ndb-nodeid
選項會覆寫使用--ndb-connectstring
設定的任何節點 ID,無論這兩個選項的使用順序為何。此外,如果使用
--ndb-nodeid
,則必須在config.ini
的[mysqld]
或[api]
區段中找到相符的節點 ID,或者檔案中必須有一個 「開啟」 的[mysqld]
或[api]
區段 (也就是說,一個未指定NodeId
或Id
參數的區段)。如果節點 ID 指定為連線字串的一部分,情況也是如此。無論節點 ID 是如何決定的,它都會顯示為
SHOW STATUS
輸出的全域狀態變數Ndb_cluster_node_id
的值,以及SHOW ENGINE NDBCLUSTER STATUS
輸出中connection
列的cluster_node_id
。如需有關 NDB Cluster SQL 節點的節點 ID 的詳細資訊,請參閱 第 25.4.3.7 節,「在 NDB Cluster 中定義 SQL 和其他 API 節點」。
-
命令列格式 --ndbinfo[=value]
類型 列舉 預設值 ON
有效值 ON
OFF
FORCE
啟用
ndbinfo
資訊資料庫的外掛程式。預設情況下,只要啟用NDBCLUSTER
,此選項即為 ON。 --ndb-optimization-delay=
milliseconds
命令列格式 --ndb-optimization-delay=#
系統變數 ndb_optimization_delay
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 10
最小值 0
最大值 100000
單位 毫秒 設定
OPTIMIZE TABLE
陳述式在NDB
資料表上處理多組資料列之間等待的毫秒數。預設值為 10。--ndb-optimized-node-selection
命令列格式 --ndb-optimized-node-selection
啟用交易節點選擇最佳化。預設為啟用;使用
--skip-ndb-optimized-node-selection
停用。-
命令列格式 --ndb-tls-search-path=path
系統變數 ndb_tls_search_path
範圍 全域 動態 否 SET_VAR
提示套用否 類型 路徑名稱 預設值 (Unix) $HOME/tls
預設值 (Windows) $HOMEDIR/tls
要搜尋 NDB TLS 連線之 CA 和私密金鑰的目錄清單。該清單在 Unix 平台上以逗號分隔,在 Windows 上以分號分隔。
--ndb-transid-mysql-connection-map=
state
命令列格式 --ndb-transid-mysql-connection-map[=state]
類型 列舉 預設值 ON
有效值 ON
OFF
FORCE
啟用或停用處理
INFORMATION_SCHEMA
資料庫中ndb_transid_mysql_connection_map
資料表的外掛程式。採用ON
、OFF
或FORCE
其中一個值。ON
(預設值) 會啟用外掛程式。OFF
會停用外掛程式,這會使ndb_transid_mysql_connection_map
無法存取。FORCE
如果外掛程式無法載入和啟動,則會阻止 MySQL 伺服器啟動。您可以透過檢查
SHOW PLUGINS
的輸出,查看ndb_transid_mysql_connection_map
資料表外掛程式是否正在執行。-
命令列格式 --ndb-wait-connected=#
系統變數 ndb_wait_connected
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 120
預設值 30
最小值 0
最大值 31536000
單位 秒 此選項設定 MySQL 伺服器在接受 MySQL 用戶端連線之前,等待建立與 NDB Cluster 管理和資料節點連線的時間長度。時間以秒為單位指定。預設值為
30
。 -
命令列格式 --ndb-wait-setup=#
系統變數 ndb_wait_setup
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 120
預設值 30
預設值 15
預設值 15
最小值 0
最大值 31536000
單位 秒 此變數顯示 MySQL 伺服器等待
NDB
儲存引擎完成設定,然後逾時並將NDB
視為無法使用的時間長度。時間以秒為單位指定。預設值為30
。 -
命令列格式 --skip-ndbcluster
停用
NDBCLUSTER
儲存引擎。這是為支援NDBCLUSTER
儲存引擎而建置的二進位檔的預設值;只有在明確給定--ndbcluster
選項時,伺服器才會為此儲存引擎配置記憶體和其他資源。如需範例,請參閱 第 25.4.1 節,「NDB Cluster 的快速測試設定」。
本節提供有關特定於 NDB Cluster 和 NDB
儲存引擎的 MySQL 伺服器系統變數的詳細資訊。對於非特定於 NDB Cluster 的系統變數,請參閱 第 7.1.8 節,「伺服器系統變數」。如需有關使用系統變數的一般資訊,請參閱 第 7.1.9 節,「使用系統變數」。
-
命令列格式 --ndb-autoincrement-prefetch-sz=#
系統變數 ndb_autoincrement_prefetch_sz
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 512
最小值 1
最大值 65536
決定自動遞增資料行中出現間隙的機率。將其設定為
1
可將此機率降至最低。將其設定為較高的值進行最佳化可加快插入速度,但會降低在批次插入中使用連續自動遞增數字的可能性。此變數只會影響陳述式之間擷取的
AUTO_INCREMENT
ID 數量;在給定的陳述式中,一次至少取得 32 個 ID。重要此變數不會影響使用
INSERT ... SELECT
執行的插入作業。 -
命令列格式 --ndb-clear-apply-status[={OFF|ON}]
系統變數 ndb_clear_apply_status
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
預設情況下,執行
RESET REPLICA
會導致 NDB Cluster 複本從其ndb_apply_status
資料表中清除所有資料列。您可以透過設定ndb_clear_apply_status=OFF
來停用此功能。 -
命令列格式 --ndb-conflict-role=value
系統變數 ndb_conflict_role
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 NONE
有效值 NONE
PRIMARY
SECONDARY
PASS
決定此 SQL 節點 (和 NDB Cluster) 在環狀 (「作用中-作用中」) 複寫設定中的角色。
ndb_conflict_role
可以採用PRIMARY
、SECONDARY
、PASS
或NULL
(預設值) 其中一個值。必須先停止複本 SQL 執行緒,才能變更ndb_conflict_role
。此外,無法在PASS
和PRIMARY
或SECONDARY
其中一個之間直接變更;在這種情況下,您必須確保已停止 SQL 執行緒,然後先執行SET @@GLOBAL.ndb_conflict_role = 'NONE'
。此變數取代已棄用的
ndb_slave_conflict_role
。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
-
命令列格式 --ndb-data-node-neighbour=#
系統變數 ndb_data_node_neighbour
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 255
設定 「最近」資料節點的 ID,也就是說,會選擇較佳的非本機資料節點來執行交易,而不是在與 SQL 或 API 節點相同的主機上執行的節點。過去曾用來確保在存取完整複寫資料表時,我們會在此資料節點上存取,以確保在可能的情況下,始終使用資料表的本機複本。這也可以用於提供交易的提示。
如果節點在實體上比同一主機上的其他節點更接近,且因此具有更高的網路輸送量,這可以縮短資料存取時間。
如需更多資訊,請參閱 第 15.1.20.12 節,「設定 NDB 註解選項」。
注意NDB API 應用程式中提供等效的方法
set_data_node_neighbour()
來使用。 -
命令列格式 --ndb-dbg-check-shares=#
系統變數 ndb_dbg_check_shares
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 1
設定為 1 時,檢查是否有任何共用仍在存在。僅在偵錯組建中可用。
-
命令列格式 --ndb-default-column-format={FIXED|DYNAMIC}
系統變數 ndb_default_column_format
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 FIXED
有效值 FIXED
DYNAMIC
設定新資料表的預設
COLUMN_FORMAT
和ROW_FORMAT
(請參閱 章節 15.1.20,「CREATE TABLE 陳述式」)。預設值為FIXED
。 -
命令列格式 --ndb-deferred-constraints=#
系統變數 ndb_deferred_constraints
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 1
控制是否延遲條件約束檢查 (如果支援)。預設值為
0
。此變數通常不是 NDB Cluster 或 NDB Cluster 複寫作業所必需的,主要用於測試。
-
命令列格式 --ndb-distribution={KEYHASH|LINHASH}
系統變數 ndb_distribution
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 KEYHASH
有效值 LINHASH
KEYHASH
控制
NDB
資料表的預設分配方法。可以設定為KEYHASH
(索引鍵雜湊)或LINHASH
(線性雜湊)。預設值為KEYHASH
。 -
命令列格式 --ndb-eventbuffer-free-percent=#
系統變數 ndb_eventbuffer_free_percent
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 20
最小值 1
最大值 99
設定事件緩衝區 (ndb_eventbuffer_max_alloc) 所配置最大記憶體百分比,此百分比表示在達到最大值後,事件緩衝區應有的可用空間,達到此可用空間後才會開始再次緩衝。
-
命令列格式 --ndb-eventbuffer-max-alloc=#
系統變數 ndb_eventbuffer_max_alloc
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 9223372036854775807
設定 NDB API 可配置用於緩衝事件的最大記憶體量 (以位元組為單位)。0 表示不施加任何限制,這是預設值。
-
命令列格式 ndb_extra_logging=#
系統變數 ndb_extra_logging
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 1
最小值 0
最大值 1
此變數啟用在 MySQL 錯誤日誌中記錄特定於
NDB
儲存引擎的資訊。當此變數設定為 0 時,寫入 MySQL 錯誤日誌的特定於
NDB
的資訊僅與交易處理相關。如果將其設定為大於 0 但小於 10 的值,也會記錄NDB
資料表綱要和連線事件,以及是否正在使用衝突解決,以及其他NDB
錯誤和資訊。如果將值設定為 10 或更大,則也會將關於NDB
內部資訊(例如叢集節點之間資料分配的進度)寫入 MySQL 錯誤日誌。預設值為 1。 -
命令列格式 --ndb-force-send[={OFF|ON}]
系統變數 ndb_force_send
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
強制立即將緩衝區傳送至
NDB
,而無需等待其他執行緒。預設為ON
。 -
命令列格式 --ndb-fully-replicated[={OFF|ON}]
系統變數 ndb_fully_replicated
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
決定是否完全複製新的
NDB
資料表。可以使用CREATE TABLE
或ALTER TABLE
陳述式中的COMMENT="NDB_TABLE=FULLY_REPLICATED=..."
來覆寫個別資料表的此設定;有關語法和其他資訊,請參閱第 15.1.20.12 節,「設定 NDB 註解選項」。 -
命令列格式 --ndb-index-stat-enable[={OFF|ON}]
系統變數 ndb_index_stat_enable
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
在查詢最佳化中使用
NDB
索引統計資料。預設值為ON
。無論此選項的值為何,在伺服器啟動時都會建立索引統計資料表。
-
命令列格式 --ndb-index-stat-option=value
系統變數 ndb_index_stat_option
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 字串 預設值 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_index_stat_option
時未使用的選項,其值不會從預設值變更。例如,您可以設定ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'
。時間值可以選擇性地加上
h
(小時)、m
(分鐘)或s
(秒)作為後綴。可以使用ms
選擇性地指定毫秒值;無法使用h
、m
或s
指定毫秒值。) 整數值可以加上K
、M
或G
作為後綴。可以使用此變數設定的選項名稱顯示在下表中。該表還提供了選項的簡要描述、預設值以及(如果適用)最小值和最大值。
表 25.19 ndb_index_stat_option 選項和值
名稱 描述 預設值/單位 最小值/最大值 loop_enable
1000 毫秒 0/4G loop_idle
閒置時的休眠時間 1000 毫秒 0/4G loop_busy
當有更多工作等待時的休眠時間 100 毫秒 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 分鐘 1/4G delete_batch
8 0/4G clean_delay
1 分鐘 0/4G error_batch
4 1/4G error_delay
1 分鐘 1/4G evict_batch
8 1/4G evict_delay
從讀取時間清理 LRU 快取 1 分鐘 0/4G cache_limit
此 mysqld 快取索引統計資料所使用的最大記憶體量 (以位元組為單位);超出此值時清理快取。 32 MB 0/4G cache_lowpct
90 0/100 zero_total
將此設定為 1 會將 ndb_index_stat_status
中所有累積計數器重設為 0。執行此操作後,此選項值也會重設為 0。0 0/1 -
系統變數 ndb_join_pushdown
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
此變數控制是否將
NDB
資料表的聯結向下推送至 NDB 核心 (資料節點)。先前,聯結是透過 SQL 節點對NDB
的多次存取來處理;但是,當啟用ndb_join_pushdown
時,可推送的聯結會整體傳送至資料節點,資料節點可以在資料節點之間分配聯結,並在多個資料複本上平行執行,然後將單一合併結果傳回至 mysqld。這可以大幅減少 SQL 節點和資料節點之間處理此類聯結所需的往返次數。預設情況下,啟用
ndb_join_pushdown
。NDB 推送聯結的條件。 為了使聯結可推送,它必須滿足以下條件
只能比較資料行,並且所有要聯結的資料行都必須使用完全相同的資料類型。這表示(例如)無法向下推送
INT
資料行和BIGINT
資料行上的聯結。也可以向下推送比較來自相同資料表的資料行的運算式。資料行(或對這些資料行執行任何運算的結果)必須具有完全相同的類型,包括相同的正負號、長度、字元集和定序、精確度和比例(如果適用)。
不支援明確鎖定;但是,會強制執行
NDB
儲存引擎的特性隱式以列為基礎的鎖定。這表示無法向下推送使用
FOR UPDATE
的聯結。為了向下推送聯結,聯結中的子資料表必須使用
ref
、eq_ref
或const
存取方法之一,或者這些方法的某種組合來存取。只能使用
eq_ref
來推送外部聯結的子資料表。如果推送聯結的根是
eq_ref
或const
,則只能附加以eq_ref
聯結的子資料表。(以ref
聯結的資料表很可能成為另一個推送聯結的根。)如果查詢最佳化工具為候選子資料表決定
Using join cache
,則該資料表無法推送為子資料表。但是,它可能是另一組已推送資料表的根。目前無法向下推送參考以
[LINEAR] HASH
、LIST
或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
聯結,且結果是依排序索引排序或分組,則此索引無法提供排序的資料列,這會強制寫入排序的暫存檔。還有另外兩種關於推送聯結效能的資訊來源
-
命令列格式 --ndb-log-apply-status[={OFF|ON}]
系統變數 ndb_log_apply_status
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
一個唯讀變數,顯示伺服器是否以
--ndb-log-apply-status
選項啟動。 -
命令列格式 --ndb-log-bin[={OFF|ON}]
系統變數 ndb_log_bin
範圍 全域、工作階段 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
導致對
NDB
表格的更新寫入二進位日誌。如果伺服器上尚未啟用使用log_bin
的二進位記錄,則此變數的設定無效。ndb_log_bin
預設為 0 (FALSE)。 -
命令列格式 --ndb-log-binlog-index[={OFF|ON}]
系統變數 ndb_log_binlog_index
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
導致將 epochs 對應到二進位日誌中的位置的映射插入到
ndb_binlog_index
表格。如果伺服器尚未使用log_bin
啟用二進位記錄,則設定此變數無效。(此外,不得停用ndb_log_bin
。)ndb_log_binlog_index
預設為1
(ON
);通常,在生產環境中永遠不需要變更此值。 -
命令列格式 --ndb-log-empty-epochs[={OFF|ON}]
系統變數 ndb_log_empty_epochs
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
當此變數設定為 0 時,即使在
ndb_binlog_index
中,即使是空的 epoch,也會寫入一行,但沒有變更的 epoch 交易不會寫入二進位日誌。 -
命令列格式 --ndb-log-empty-update[={OFF|ON}]
系統變數 ndb_log_empty_update
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
當此變數設定為
ON
(1
) 時,即使啟用了log_replica_updates
,沒有變更的更新交易也會寫入二進位日誌。 -
命令列格式 --ndb-log-exclusive-reads[={OFF|ON}]
系統變數 ndb_log_exclusive_reads
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 0
此變數決定主鍵讀取是否使用互斥鎖記錄,這允許基於讀取衝突進行 NDB Cluster 複製衝突偵測和解決。若要啟用這些鎖定,請將
ndb_log_exclusive_reads
的值設定為 1。 0(停用此類鎖定)是預設值。如需更多資訊,請參閱 讀取衝突偵測和解決方案。
-
命令列格式 --ndb-log-orig[={OFF|ON}]
系統變數 ndb_log_orig
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
顯示來源伺服器 ID 和 epoch 是否記錄在
ndb_binlog_index
表格中。使用--ndb-log-orig
伺服器選項設定。 -
系統變數 ndb_log_transaction_id
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 OFF
此唯讀布林系統變數顯示複本 mysqld 是否將 NDB 交易 ID 寫入二進位日誌(使用 「主動-主動」 NDB Cluster 複寫以及
NDB$EPOCH_TRANS()
衝突偵測所必需)。若要變更設定,請使用--ndb-log-transaction-id
選項。ndb_log_transaction_id
在主線 MySQL Server 8.4 中不受支援。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
ndb_log_transaction_compression
命令列格式 --ndb-log-transaction-compression
系統變數 ndb_log_transaction_compression
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
複本 mysqld 是否將壓縮交易寫入二進位日誌;僅當 mysqld 編譯時支援
NDB
時才存在。您應該注意,使用
--binlog-transaction-compression
啟動 MySQL 伺服器會強制啟用此變數 (ON
),並且這會覆寫在命令列或my.cnf
檔案中所做的任何--ndb-log-transaction-compression
設定,如下所示$> mysqld_safe --ndbcluster --ndb-connectstring=127.0.0.1 \ --binlog-transaction-compression=ON --ndb-log-transaction-compression=OFF & [1] 27667 $> 2022-07-07T12:29:20.459937Z mysqld_safe Logging to '/usr/local/mysql/data/myhost.err'. 2022-07-07T12:29:20.509873Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data $> mysql -e 'SHOW VARIABLES LIKE "%transaction_compression%"' +--------------------------------------------+-------+ | Variable_name | Value | +--------------------------------------------+-------+ | binlog_transaction_compression | ON | | binlog_transaction_compression_level_zstd | 3 | | ndb_log_transaction_compression | ON | | ndb_log_transaction_compression_level_zstd | 3 | +--------------------------------------------+-------+
若要僅針對
NDB
表格停用二進位日誌交易壓縮,請在啟動 mysqld 之後,在 mysql 或其他用戶端會話中,將ndb_log_transaction_compression
系統變數設定為OFF
。啟動後設定
binlog_transaction_compression
變數對ndb_log_transaction_compression
的值沒有影響。如需二進位日誌交易壓縮的詳細資訊,例如哪些事件會或不會壓縮,以及使用此功能時應注意的行為變更,請參閱 第 7.4.4.5 節,〈二進位日誌交易壓縮〉。
ndb_log_transaction_compression_level_zstd
命令列格式 --ndb-log-transaction-compression-level-zstd=#
系統變數 ndb_log_transaction_compression_level_zstd
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 3
最小值 1
最大值 22
如果啟用
ndb_log_transaction_compression
,則用於將壓縮交易寫入複本二進位日誌的ZSTD
壓縮層級。如果 mysqld 編譯時不支援NDB
儲存引擎,則不支援。如需詳細資訊,請參閱 第 7.4.4.5 節,〈二進位日誌交易壓縮〉。
-
命令列格式 --ndb-metadata-check[={OFF|ON}]
系統變數 ndb_metadata_check
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
NDB
使用背景執行緒每ndb_metadata_check_interval
秒檢查一次中繼資料變更,與 MySQL 資料字典進行比較。可以透過將ndb_metadata_check
設定為OFF
來停用此中繼資料變更偵測執行緒。預設會啟用此執行緒。 -
命令列格式 --ndb-metadata-check-interval=#
系統變數 ndb_metadata_check_interval
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 60
最小值 0
最大值 31536000
單位 秒 NDB
在背景執行中繼資料變更偵測執行緒,以判斷 NDB 字典何時相對於 MySQL 資料字典發生變更。預設情況下,此類檢查之間的時間間隔為 60 秒;可以透過設定ndb_metadata_check_interval
的值來調整此值。若要啟用或停用執行緒,請使用ndb_metadata_check
。 -
系統變數 ndb_metadata_sync
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 false
設定此變數會導致變更監視器執行緒覆寫為
ndb_metadata_check
或ndb_metadata_check_interval
設定的任何值,並進入持續變更偵測的期間。當執行緒確定不再有任何變更需要偵測時,它會暫停,直到二進位記錄執行緒完成所有偵測到物件的同步處理。ndb_metadata_sync
然後會設定為false
,而變更監視器執行緒會恢復為由ndb_metadata_check
和ndb_metadata_check_interval
設定所決定的行為。將此變數設定為
true
會導致清除排除物件清單;將其設定為false
會清除要重試的物件清單。 -
命令列格式 --ndb-optimized-node-selection=#
系統變數 ndb_optimized_node_selection
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 3
最小值 0
最大值 3
有兩種形式的最佳化節點選擇,此處說明
SQL 節點使用鄰近性來判斷交易協調器;也就是說,選擇 「最靠近」 SQL 節點的資料節點作為交易協調器。為此,與 SQL 節點具有共用記憶體連線的資料節點被視為 「最靠近」 SQL 節點;接下來最靠近的(依鄰近性遞減順序)是:與
localhost
的 TCP 連線,然後是來自localhost
以外主機的 TCP 連線。SQL 執行緒使用分佈感知來選取資料節點。也就是說,由給定交易的第一個陳述式存取的叢集分割區所在的資料節點會用作整個交易的交易協調器。(只有當交易的第一個陳述式存取不超過一個叢集分割區時,此方法才有效。)
此選項採用其中一個整數值
0
、1
、2
或3
。3
是預設值。這些值會以下列方式影響節點選擇0
:節點選擇未最佳化。每個資料節點會被用作交易協調器 8 次,SQL 執行緒才會繼續處理下一個資料節點。1
:使用與 SQL 節點的鄰近性來判斷交易協調器。2
:使用分佈感知來選取交易協調器。但是,如果交易的第一個陳述式存取超過一個叢集分割區,則 SQL 節點會恢復為將此選項設定為0
時看到的循環配置資源行為。3
:如果可以使用分佈感知來判斷交易協調器,則會使用;否則會使用鄰近性來選取交易協調器。(這是預設行為。)
鄰近性判斷如下
從為
Group
參數設定的值開始(預設值 55)。對於與其他 API 節點共用相同主機的 API 節點,將值遞減 1。假設
Group
的預設值,與 API 節點相同主機上的資料節點的有效值為 54,而遠端資料節點的有效值為 55。設定
ndb_data_node_neighbour
會進一步將有效的Group
值減少 50,導致此節點被視為最近的節點。只有在所有資料節點都位於 API 節點所在主機以外的主機上,且希望將其中一個節點專用於 API 節點時,才需要這樣做。在正常情況下,先前描述的預設調整已足夠。
不建議頻繁變更
ndb_data_node_neighbour
,因為這會變更叢集連線的狀態,因此可能會擾亂每個執行緒選取新交易的演算法,直到其穩定下來。 -
命令列格式 --ndb-read-backup[={OFF|ON}]
系統變數 ndb_read_backup
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
針對後續建立的任何
NDB
資料表,啟用從任何片段複本讀取的功能;這樣做會大幅提升資料表的讀取效能,但寫入成本相對較小。如果 SQL 節點和資料節點使用相同的主機名稱或 IP 位址,則會自動偵測到此情況,因此會優先將讀取傳送到相同的主機。如果這些節點位於同一主機上,但使用不同的 IP 位址,您可以藉由將 SQL 節點上的
ndb_data_node_neighbour
值設定為資料節點的節點 ID,來告知 SQL 節點使用正確的資料節點。若要針對個別資料表啟用或停用從任何片段複本讀取的功能,您可以在
CREATE TABLE
或ALTER TABLE
陳述式中,為資料表設定NDB_TABLE
選項READ_BACKUP
;如需更多資訊,請參閱 第 15.1.20.12 節,「設定 NDB 註解選項」。 ndb_recv_thread_activation_threshold
命令列格式 --ndb-recv-thread-activation-threshold=#
系統變數 ndb_recv_thread_activation_threshold
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 8
最小值 0 (MIN_ACTIVATION_THRESHOLD)
最大值 16 (MAX_ACTIVATION_THRESHOLD)
當達到這個數量的並行作用中執行緒時,接收執行緒會接管叢集連線的輪詢。
此變數的作用域為全域。也可以在啟動時設定。
-
命令列格式 --ndb-recv-thread-cpu-mask=mask
系統變數 ndb_recv_thread_cpu_mask
範圍 全域 動態 是 SET_VAR
提示套用否 類型 位元遮罩 預設值 [空白]
用於將接收執行緒鎖定至特定 CPU 的 CPU 遮罩。此值指定為十六進位位元遮罩。例如,
0x33
表示每個接收執行緒使用一個 CPU。空白字串為預設值;將ndb_recv_thread_cpu_mask
設定為此值會移除先前設定的任何接收執行緒鎖定。此變數的作用域為全域。也可以在啟動時設定。
ndb_report_thresh_binlog_epoch_slip
命令列格式 --ndb-report-thresh-binlog-epoch-slip=#
系統變數 ndb_report_thresh_binlog_epoch_slip
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 10
最小值 0
最大值 256
這表示事件緩衝區中完全緩衝,但尚未由二進位日誌注入器執行緒使用的 epoch 數量閾值。當超出此程度的滑移(延遲)時,會報告事件緩衝區狀態訊息,並以
BUFFERED_EPOCHS_OVER_THRESHOLD
作為原因(請參閱 第 25.6.2.3 節,「叢集日誌中的事件緩衝區報告」)。當從資料節點收到 epoch 並在事件緩衝區中完全緩衝時,滑移會增加;當二進位日誌注入器執行緒使用 epoch 時,滑移會減少。只有在使用 NDB API 中的Ndb::setEventBufferQueueEmptyEpoch()
方法啟用此功能時,才會緩衝和佇列空的 epoch,因此納入此計算中。ndb_report_thresh_binlog_mem_usage
命令列格式 --ndb-report-thresh-binlog-mem-usage=#
系統變數 ndb_report_thresh_binlog_mem_usage
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 10
最小值 0
最大值 10
這是報告二進位日誌狀態之前,剩餘可用記憶體的百分比閾值。例如,值為
10
(預設值)表示如果從資料節點接收二進位日誌資料的可用記憶體量低於 10%,則會將狀態訊息傳送到叢集日誌。-
系統變數 ndb_row_checksum
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 1
最小值 0
最大值 1
傳統上,
NDB
會建立具有資料列總和檢查碼的資料表,這會檢查硬體問題,但會犧牲效能。將ndb_row_checksum
設定為 0 表示新資料表或變更的資料表不使用資料列總和檢查碼,這對所有類型的查詢效能都有顯著影響。此變數預設設定為 1,以提供回溯相容行為。 ndb_schema_dist_lock_wait_timeout
命令列格式 --ndb-schema-dist-lock-wait-timeout=value
系統變數 ndb_schema_dist_lock_wait_timeout
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 30
最小值 0
最大值 1200
單位 秒 在綱要散佈期間,為了變更其本機資料字典以反映 DDL 陳述式變更,而等待在每個 SQL 節點上取得的中繼資料鎖定的秒數。經過此時間後,會傳回警告,指出指定的 SQL 節點的資料字典未以變更更新。這可避免二進位日誌執行緒在處理綱要作業時等待過長的時間。
-
命令列格式 --ndb-schema-dist-timeout=value
系統變數 ndb_schema_dist_timeout
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 120
最小值 5
最大值 1200
單位 秒 在綱要散佈期間偵測逾時之前,要等待的秒數。這可能表示其他 SQL 節點正在經歷過多的活動,或者它們目前以某種方式被阻止取得必要的資源。
ndb_schema_dist_upgrade_allowed
命令列格式 --ndb-schema-dist-upgrade-allowed=value
系統變數 ndb_schema_dist_upgrade_allowed
範圍 全域 動態 否 SET_VAR
提示套用否 類型 布林值 預設值 true
允許在連線至
NDB
時升級綱要散佈資料表。當為 true(預設值)時,此變更會延遲,直到所有 SQL 節點都升級到相同版本的 NDB 叢集軟體。注意在執行升級之前,綱要散佈的效能可能會稍微降低。
ndb_show_foreign_key_mock_tables
命令列格式 --ndb-show-foreign-key-mock-tables[={OFF|ON}]
系統變數 ndb_show_foreign_key_mock_tables
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
顯示
NDB
用於支援foreign_key_checks=0
的模擬資料表。當啟用此功能時,建立和卸載資料表時會顯示額外的警告。可以在SHOW CREATE TABLE
的輸出中看到資料表的真實(內部)名稱。-
命令列格式 --ndb-slave-conflict-role=value
已過時 是 系統變數 ndb_slave_conflict_role
範圍 全域 動態 是 SET_VAR
提示套用否 類型 列舉 預設值 NONE
有效值 NONE
PRIMARY
SECONDARY
PASS
已過時的
ndb_conflict_role
同義詞。 -
系統變數 ndb_table_no_logging
範圍 工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
當此變數設定為
ON
或1
時,會導致使用ENGINE NDB
建立或變更的所有資料表成為非記錄狀態;也就是說,此資料表的任何資料變更都不會寫入重做日誌,也不會檢查點到磁碟,就像使用CREATE TABLE
或ALTER TABLE
的NOLOGGING
選項建立或變更資料表一樣。如需有關非記錄
NDB
資料表的更多資訊,請參閱 NDB_TABLE 選項。ndb_table_no_logging
對於建立NDB
資料表綱要檔案沒有影響;若要禁止這些檔案,請改用ndb_table_temporary
。 -
系統變數 ndb_table_temporary
範圍 工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
當設定為
ON
或1
時,此變數會導致NDB
資料表不會寫入磁碟:這表示不會建立任何資料表綱要檔案,而且不會記錄資料表。注意目前設定此變數沒有任何作用。這是一個已知問題;請參閱錯誤 #34036。
-
系統變數 ndb_use_copying_alter_table
範圍 全域、工作階段 動態 否 SET_VAR
提示套用否 強制
NDB
在線上ALTER TABLE
作業發生問題時,使用資料表複製。預設值為OFF
。 -
系統變數 ndb_use_exact_count
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
強制
NDB
在SELECT COUNT(*)
查詢規劃期間使用記錄計數,以加快此類型的查詢。預設值為OFF
,這允許整體更快的查詢。 -
命令列格式 --ndb-use-transactions[={OFF|ON}]
系統變數 ndb_use_transactions
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
您可以將此變數的值設定為
OFF
來停用NDB
交易支援。一般不建議這樣做,但在給定用戶端工作階段用於匯入具有大型交易的一或多個傾印檔案時,停用該工作階段內的交易支援可能很有用;這允許以多個部分執行多資料列插入,而不是以單一交易執行。在這種情況下,一旦完成匯入,您應該將此工作階段的變數值重設為ON
,或直接終止工作階段。 -
系統變數 ndb_version
範圍 全域 動態 否 SET_VAR
提示套用否 類型 字串 預設值 NDB
引擎版本,以複合整數表示。 -
系統變數 ndb_version_string
範圍 全域 動態 否 SET_VAR
提示套用否 類型 字串 預設值 NDB
引擎版本,格式為ndb-
。x.y.z
-
命令列格式 --replica-allow-batching[={OFF|ON}]
系統變數 replica_allow_batching
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
是否在 NDB 叢集複本上啟用批次更新。
允許在複本上進行批次更新會大幅提升效能,尤其是在複寫
TEXT
、BLOB
和JSON
資料行時。因此,預設會啟用replica_allow_batching
。僅當使用
NDB
儲存引擎進行複製時,設定此變數才會生效;在 MySQL Server 8.4 中,它存在但不執行任何操作。如需更多資訊,請參閱第 25.7.6 節,「啟動 NDB Cluster 複製 (單一複製通道)」。 -
命令列格式 --ndb-replica-batch-size=#
系統變數 ndb_replica_batch_size
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 2097152
最小值 0
最大值 2147483648
單位 位元組 決定複製應用程式執行緒使用的批次大小(以位元組為單位)。設定此變數,而不是
--ndb-batch-size
選項,以將此設定應用於複本,而排除任何其他工作階段。如果此變數未設定(預設為 2 MB),則其有效值為
--ndb-batch-size
的值與 2 MB 之間較大的值。 ndb_replica_blob_write_batch_bytes
命令列格式 --ndb-replica-blob-write-batch-bytes=#
系統變數 ndb_replica_blob_write_batch_bytes
範圍 全域 動態 是 SET_VAR
提示套用否 類型 整數 預設值 2097152
最小值 0
最大值 2147483648
單位 位元組 控制複製應用程式執行緒用於 BLOB 資料的批次寫入大小。
使用此變數,而不是
--ndb-blob-write-batch-bytes
選項,以控制複本上的 BLOB 批次寫入大小,而排除任何其他工作階段。這樣做的原因是,當ndb_replica_blob_write_batch_bytes
未設定時,有效的 BLOB 批次大小(即,BLOB 資料行要寫入的最大待寫入位元組數)由--ndb-blob-write-batch-bytes
的值與 2 MB(ndb_replica_blob_write_batch_bytes
的預設值)之間較大的值決定。將
ndb_replica_blob_write_batch_bytes
設定為 0 表示NDB
不限制複本上的 BLOB 批次寫入大小。-
命令列格式 --server-id-bits=#
系統變數 server_id_bits
範圍 全域 動態 否 SET_VAR
提示套用否 類型 整數 預設值 32
最小值 7
最大值 32
此變數表示 32 位元
server_id
中,實際識別伺服器的最不重要位元數。指示伺服器實際上由少於 32 個位元識別,可以讓一些剩餘的位元用於其他目的,例如在OperationOptions
結構的AnyValue
中儲存使用 NDB API 的 Event API 所產生應用程式的使用者資料(NDB Cluster 使用AnyValue
來儲存伺服器 ID)。當從
server_id
中提取有效的伺服器 ID 以用於偵測複製迴圈等目的時,伺服器會忽略剩餘的位元。當決定是否應根據伺服器 ID 忽略事件時,I/O 和 SQL 執行緒會使用server_id_bits
變數來遮罩掉server_id
的任何不相關位元。只要
server_id_bits
變數設定為 32(預設值),就可以透過 mysqlbinlog 從二進位日誌中讀取此資料。如果
server_id
的值大於或等於 2 的server_id_bits
次方;否則,mysqld 會拒絕啟動。此系統變數僅受 NDB Cluster 支援。標準 MySQL 8.4 Server 不支援它。
-
命令列格式 --slave-allow-batching[={OFF|ON}]
已過時 是 系統變數 slave_allow_batching
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 ON
replica_allow_batching
的已棄用同義詞。 -
系統變數 transaction_allow_batching
範圍 工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
當設定為
1
或ON
時,此變數會啟用相同交易中陳述式的批次處理。若要使用此變數,必須先將autocommit
設定為0
或OFF
來停用它;否則,設定transaction_allow_batching
不會產生任何效果。將它啟用可能會導致從「之前」的映像讀取,因此將此變數用於僅執行寫入的交易是安全的。您應確保在發出
SELECT
之前,任何擱置的交易都已認可(如果需要,可以使用明確的COMMIT
)。重要當給定陳述式的效果可能取決於相同交易中先前陳述式的結果時,不應使用
transaction_allow_batching
。此變數目前僅支援 NDB Cluster。
以下清單中的系統變數都與 ndbinfo
資訊資料庫有關。
-
系統變數 ndbinfo_database
範圍 全域 動態 否 SET_VAR
提示套用否 類型 字串 預設值 ndbinfo
顯示用於
NDB
資訊資料庫的名稱;預設值為ndbinfo
。這是一個唯讀變數,其值在編譯時決定。 -
命令列格式 --ndbinfo-max-bytes=#
系統變數 ndbinfo_max_bytes
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 0
最小值 0
最大值 65535
僅用於測試和偵錯。
-
命令列格式 --ndbinfo-max-rows=#
系統變數 ndbinfo_max_rows
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 整數 預設值 10
最小值 1
最大值 256
僅用於測試和偵錯。
-
系統變數 ndbinfo_offline
範圍 全域 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
將
ndbinfo
資料庫置於離線模式,在這種模式下,即使資料表和檢視不存在,或者它們存在但在NDB
中具有不同的定義,也可以開啟它們。此類資料表(或檢視)不傳回任何資料列。 -
命令列格式 --ndbinfo-show-hidden[={OFF|ON}]
系統變數 ndbinfo_show_hidden
範圍 全域、工作階段 動態 是 SET_VAR
提示套用否 類型 布林值 預設值 OFF
有效值 ON
OFF
是否在 mysql 用戶端中顯示
ndbinfo
資料庫的基礎內部資料表。預設值為OFF
。注意當啟用
ndbinfo_show_hidden
時,內部資料表僅顯示在ndbinfo
資料庫中;無論變數的設定為何,它們在TABLES
或其他INFORMATION_SCHEMA
資料表中都不可見。 -
系統變數 ndbinfo_table_prefix
範圍 全域 動態 否 SET_VAR
提示套用否 類型 字串 預設值 ndb$
用於命名 ndbinfo 資料庫基本資料表的前置詞(通常會隱藏,除非透過設定
ndbinfo_show_hidden
來公開)。這是一個唯讀變數,其預設值為ndb$
;前置詞本身在編譯時決定。 -
系統變數 ndbinfo_version
範圍 全域 動態 否 SET_VAR
提示套用否 類型 字串 預設值 顯示正在使用的
ndbinfo
引擎版本;唯讀。
本節提供與 NDB Cluster 和 NDB
儲存引擎相關的 MySQL 伺服器狀態變數的詳細資訊。如需非特定於 NDB Cluster 的狀態變數,以及關於使用狀態變數的一般資訊,請參閱第 7.1.10 節,「伺服器狀態變數」。
MySQL 伺服器可以詢問
NDBCLUSTER
儲存引擎是否知道具有給定名稱的資料表。這稱為探索。Handler_discover
指示已使用此機制探索資料表的次數。Ndb_api_adaptive_send_deferred_count
未實際傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_deferred_count_session
未實際傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_deferred_count_replica
此複本未實際傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_deferred_count_slave
Ndb_api_adaptive_send_forced_count
此 MySQL 伺服器(SQL 節點)使用強制傳送傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_forced_count_session
在此用戶端工作階段中,使用強制傳送傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_forced_count_replica
此複本使用強制傳送傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_forced_count_slave
Ndb_api_adaptive_send_unforced_count
此 MySQL 伺服器(SQL 節點)未使用強制傳送傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_unforced_count_session
在此用戶端工作階段中,未使用強制傳送傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_unforced_count_replica
此複本發出的自適應傳送呼叫次數,不包含強制傳送。
如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_adaptive_send_unforced_count_slave
Ndb_api_bytes_sent_count_session
在此用戶端連線中,傳送至資料節點的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_bytes_sent_count_replica
此複本傳送至資料節點的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_bytes_sent_count_slave
已棄用的
Ndb_api_bytes_sent_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 傳送至資料節點的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_bytes_received_count_session
在此用戶端連線中,從資料節點接收的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_bytes_received_count_replica
此複本從資料節點接收的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_bytes_received_count_slave
已棄用的
Ndb_api_bytes_received_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 從資料節點接收的資料量 (以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_event_data_count_injector
NDB 二進位日誌注入器執行緒接收的資料列變更事件數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
此 MySQL 伺服器 (SQL 節點) 接收的資料列變更事件數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_event_nondata_count_injector
NDB 二進位日誌注入器執行緒接收的事件數,不包含資料列變更事件。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
此 MySQL 伺服器 (SQL 節點) 接收的事件數,不包含資料列變更事件。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_event_bytes_count_injector
NDB 二進位日誌注入器執行緒接收的事件位元組數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
此 MySQL 伺服器 (SQL 節點) 接收的事件位元組數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
在此用戶端連線中,基於或使用主索引鍵的操作數。這包括 Blob 資料表上的操作、隱含解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
此複本基於或使用主索引鍵的操作數。這包括 Blob 資料表上的操作、隱含解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
已棄用的
Ndb_api_pk_op_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 基於或使用主索引鍵的操作數。這包括 Blob 資料表上的操作、隱含解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_pruned_scan_count_session
在此用戶端連線中,已修剪至單一分割區的掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_pruned_scan_count_replica
此複本已修剪至單一分割區的掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_pruned_scan_count_slave
已棄用的
Ndb_api_pruned_scan_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 已修剪至單一分割區的掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_range_scan_count_session
在此用戶端連線中已開始的範圍掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_range_scan_count_replica
此複本已開始的範圍掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_range_scan_count_slave
已棄用的
Ndb_api_range_scan_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 已開始的範圍掃描數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_read_row_count_session
在此用戶端連線中已讀取的資料列總數。這包括在此用戶端連線中進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_read_row_count_replica
此複本已讀取的資料列總數。這包括此複本進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
已棄用的
Ndb_api_read_row_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 已讀取的資料列總數。這包括此 MySQL 伺服器 (SQL 節點) 進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
您應該注意,由於以下事實,此值對於
SELECT
COUNT(*)
查詢讀取的資料列可能不完全準確,在這種情況下,MySQL 伺服器實際上以[
的形式讀取虛擬資料列,並對資料表中所有片段的每個片段的資料列進行總和,以得出所有資料列的估計計數。資料表片段 ID
]:[片段中的資料列數
]Ndb_api_read_row_count
使用此估計值,而不是資料表中的實際資料列數。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_scan_batch_count_session
在此用戶端連線中接收的資料列批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_scan_batch_count_replica
此複本接收的資料列批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_scan_batch_count_slave
已棄用的
Ndb_api_scan_batch_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 接收的資料列批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_table_scan_count_session
在此用戶端連線中已開始的資料表掃描數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_table_scan_count_replica
此複本已開始的資料表掃描數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_table_scan_count_slave
已棄用的
Ndb_api_table_scan_count_replica
同義詞。此 MySQL 伺服器 (SQL 節點) 已開始的資料表掃描數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_abort_count_session
在此用戶端連線中中止的交易數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_abort_count_replica
此複本中止的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_abort_count_slave
與
Ndb_api_trans_abort_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)中止的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_close_count_session
在此用戶端連線中關閉的交易次數。此值可能大於
Ndb_api_trans_commit_count_session
和Ndb_api_trans_abort_count_session
的總和,因為某些交易可能已回滾。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_close_count_replica
此複本關閉的交易次數。此值可能大於
Ndb_api_trans_commit_count_replica
和Ndb_api_trans_abort_count_replica
的總和,因為某些交易可能已回滾。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_close_count_slave
與
Ndb_api_trans_close_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)關閉的交易次數。此值可能大於
Ndb_api_trans_commit_count
和Ndb_api_trans_abort_count
的總和,因為某些交易可能已回滾。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_commit_count_session
在此用戶端連線中提交的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_commit_count_replica
此複本提交的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_commit_count_slave
與
Ndb_api_trans_commit_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)提交的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_local_read_row_count_session
在此用戶端連線中已讀取的資料列總數。這包括在此用戶端連線中進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_local_read_row_count_replica
此複本已讀取的資料列總數。這包括此複本進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_local_read_row_count_slave
與
Ndb_api_trans_local_read_row_count_replica
相同,已棄用的同義詞。Ndb_api_trans_local_read_row_count
此 MySQL 伺服器 (SQL 節點) 已讀取的資料列總數。這包括此 MySQL 伺服器 (SQL 節點) 進行的任何主索引鍵、唯一索引鍵或掃描操作讀取的所有資料列。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_start_count_session
在此用戶端連線中啟動的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_start_count_replica
此複本啟動的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_trans_start_count_slave
與
Ndb_api_trans_start_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)啟動的交易次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
在此用戶端連線中,基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
此複本基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
與
Ndb_api_uk_op_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_exec_complete_count_session
在此用戶端連線中,線程在等待操作完成執行時被封鎖的次數。這包括所有
execute()
呼叫,以及對用戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_exec_complete_count_replica
此複本在等待操作完成執行時封鎖線程的次數。這包括所有
execute()
呼叫,以及對用戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_exec_complete_count_slave
與
Ndb_api_wait_exec_complete_count_replica
相同,已棄用的同義詞。Ndb_api_wait_exec_complete_count
此 MySQL 伺服器(SQL 節點)在等待操作完成執行時封鎖線程的次數。這包括所有
execute()
呼叫,以及對用戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_meta_request_count_session
在此用戶端連線中,線程在等待基於元數據的信號(例如 DDL 請求、新紀元和交易記錄擷取)時被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_meta_request_count_replica
此複本在等待基於元數據的信號(例如 DDL 請求、新紀元和交易記錄擷取)時封鎖線程的次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_meta_request_count_slave
與
Ndb_api_wait_meta_request_count_replica
相同,已棄用的同義詞。Ndb_api_wait_meta_request_count
此 MySQL 伺服器(SQL 節點)在等待基於元數據的信號(例如 DDL 請求、新紀元和交易記錄擷取)時封鎖線程的次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_nanos_count_session
在此用戶端連線中,等待來自資料節點的任何類型信號所花費的總時間(以奈秒為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_nanos_count_replica
此複本等待來自資料節點的任何類型信號所花費的總時間(以奈秒為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_nanos_count_slave
與
Ndb_api_wait_nanos_count_replica
相同,已棄用的同義詞。此 MySQL 伺服器(SQL 節點)等待來自資料節點的任何類型信號所花費的總時間(以奈秒為單位)。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_scan_result_count_session
在此用戶端連線中,線程在等待基於掃描的信號時被封鎖的次數,例如等待掃描的更多結果時,或等待掃描關閉時。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它僅與目前連線相關,並且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_scan_result_count_replica
此複本在等待掃描式訊號時,例如等待掃描的更多結果或等待掃描關閉時,線程被阻塞的次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本,或未使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
Ndb_api_wait_scan_result_count_slave
已棄用的
Ndb_api_wait_scan_result_count_replica
同義詞。Ndb_api_wait_scan_result_count
當等待掃描式訊號時,例如等待掃描的更多結果或等待掃描關閉時,線程被此 MySQL 伺服器 (SQL 節點) 阻塞的次數。
雖然可以使用
SHOW GLOBAL STATUS
或SHOW SESSION STATUS
讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱第 25.6.16 節,「NDB API 統計計數器和變數」。
如果伺服器作為 NDB Cluster 節點,則此變數的值為其在叢集中的節點 ID。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
如果伺服器是 NDB Cluster 的一部分,則此變數的值為叢集管理伺服器的主機名稱或 IP 位址,伺服器從該伺服器取得其組態資料。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為空字串。
如果伺服器是 NDB Cluster 的一部分,則此變數的值為其連接到叢集管理伺服器的埠號,伺服器從該伺服器取得其組態資料。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
顯示叢集目前組態的產生序號。這可用作指示器,以判斷自此 SQL 節點上次連接到叢集後,叢集的組態是否已變更。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH()
衝突解決所發現的衝突列數。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH_TRANS()
衝突解決所發現的衝突列數。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
顯示自上次重新啟動以來,在指定為主要來源時,於 NDB Cluster 複寫衝突解決中使用
NDB$EPOCH2()
所發現的衝突列數。如需詳細資訊,請參閱 NDB$EPOCH2()。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH_TRANS2()
衝突解決所發現的衝突列數。如需詳細資訊,請參閱 NDB$EPOCH2_TRANS()。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次啟動此 mysqld 以來,由於 「最大時間戳記獲勝」 衝突解決,導致目前 SQL 節點上未套用資料列的次數。
如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
顯示自上次啟動此 mysqld 以來,由於使用
NDB$MAX_DELETE_WIN()
的 NDB Cluster 複寫衝突解決,導致目前 SQL 節點上拒絕資料列的次數。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_fn_max_del_win_ins
顯示自上次啟動此 mysqld 以來,由於使用
NDB$MAX_DEL_WIN_INS()
的 NDB Cluster 複寫衝突解決,導致目前 SQL 節點上拒絕插入資料列的次數。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次啟動此 mysqld 以來,由於 「最大時間戳記獲勝」 衝突解決,導致目前 SQL 節點上未插入資料列的次數。
如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
用於 NDB Cluster 複寫衝突解決,此變數顯示自上次重新啟動以來,在給定的 mysqld 上,由於 「相同時間戳記獲勝」 衝突解決,導致未套用資料列的次數。
如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_last_conflict_epoch
此複本上偵測到衝突的最近 epoch。您可以將此值與
Ndb_replica_max_replicated_epoch
比較;如果Ndb_replica_max_replicated_epoch
大於Ndb_conflict_last_conflict_epoch
,則尚未偵測到任何衝突。如需詳細資訊,請參閱 第 25.7.12 節,〈NDB Cluster 複寫衝突解決〉。
Ndb_conflict_reflected_op_discard_count
使用 NDB Cluster 複寫衝突解決時,這是由於在執行期間發生錯誤而未在次要節點上套用的反映作業次數。
如需詳細資訊,請參閱 第 25.7.12 節,〈NDB Cluster 複寫衝突解決〉。
Ndb_conflict_reflected_op_prepare_count
在使用 NDB Cluster 複寫進行衝突解決時,此狀態變數包含已定義(即,已準備好在次要節點上執行)的反映作業次數。
使用 NDB Cluster 複寫進行衝突解決時,這會提供已準備好在次要節點上執行的重新整理作業次數。
如需詳細資訊,請參閱 第 25.7.12 節,〈NDB Cluster 複寫衝突解決〉。
Ndb_conflict_last_stable_epoch
交易式衝突函數發現衝突的列數
如需詳細資訊,請參閱 第 25.7.12 節,〈NDB Cluster 複寫衝突解決〉。
Ndb_conflict_trans_row_conflict_count
用於 NDB Cluster 複寫衝突解決,此狀態變數顯示自上次重新啟動以來,在給定的 mysqld 上,由交易式衝突函數直接發現處於衝突中的列數。
目前,NDB Cluster 支援的唯一交易式衝突偵測函數是 NDB$EPOCH_TRANS(),因此此狀態變數與
Ndb_conflict_fn_epoch_trans
實際上是相同的。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_trans_row_reject_count
用於 NDB Cluster 複寫衝突解決,此狀態變數顯示由於被交易式衝突偵測函數判定為衝突而重新對齊的資料列總數。這不僅包括
Ndb_conflict_trans_row_conflict_count
,還包括任何處於衝突交易中或依賴衝突交易的資料列。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_trans_reject_count
用於 NDB Cluster 複寫衝突解決,此狀態變數顯示由交易式衝突偵測函數發現處於衝突中的交易次數。
如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_trans_detect_iter_count
用於 NDB Cluster 複寫衝突解決,這會顯示認可 epoch 交易所需的內部疊代次數。應(稍微)大於或等於
Ndb_conflict_trans_conflict_commit_count
。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
Ndb_conflict_trans_conflict_commit_count
用於 NDB Cluster 複寫衝突解決,這會顯示在需要交易式衝突處理後認可的 epoch 交易次數。
如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
使用刪除-刪除衝突偵測時,這是偵測到的刪除-刪除衝突次數,其中套用刪除作業,但指示的資料列不存在。
提供由作業傳送到
NDB
核心的往返次數。最近由
NDB
提交的 epoch。最近由此
NDB
客戶端提交的 epoch。自上次啟動此伺服器以來,NDB 元數據變更偵測執行緒偵測到與 MySQL 資料字典相關的變更次數。
自上次重新啟動以來,NDB 二進位日誌執行緒在此 SQL 節點上無法同步的元數據物件數量。
如果物件被排除,在使用者手動更正不匹配之前,不會再次考慮自動同步。這可以透過嘗試使用類似
SHOW CREATE TABLE
、table
SELECT * FROM
或任何其他會觸發表格探索的語句來完成。table
自上次重新啟動以來,在此 SQL 節點上已同步的 NDB 元數據物件數量。
如果伺服器是 NDB Cluster 的一部分,則此變數的值是叢集中的資料節點數。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
為在資料節點上進行分散式處理而下推到 NDB 核心的聯結總數。
注意使用
EXPLAIN
測試且可以下推的聯結會計入此數字。下推到 NDB 核心但無法在那裡處理的聯結數量。
成功下推到
NDB
並在那裡執行的聯結數量。由下推的聯結從 NDB 核心傳回到 mysqld 的資料列數量。
此變數保存自上次啟動 NDB Cluster 以來,
NDBCLUSTER
執行的掃描次數的計數,其中NDBCLUSTER
能夠使用分割區修剪。將此變數與
Ndb_scan_count
一起使用,有助於在架構設計中最大化伺服器將掃描修剪到單個表格分割區的能力,從而僅涉及單個資料節點的複本。Ndb_replica_max_replicated_epoch
此複本上最近提交的 epoch。您可以將此值與
Ndb_conflict_last_conflict_epoch
進行比較;如果Ndb_replica_max_replicated_epoch
是兩者中較大的值,則尚未偵測到任何衝突。如需詳細資訊,請參閱 第 25.7.12 節,「NDB Cluster 複寫衝突解決」。
此變數保存自上次啟動 NDB Cluster 以來,
NDBCLUSTER
執行的掃描總數的計數。Ndb_slave_max_replicated_epoch
Ndb_replica_max_replicated_epoch
的已棄用同義詞。如果此 MySQL 伺服器已連線到 NDB 叢集,則此唯讀變數會顯示叢集系統名稱。否則,值為空字串。
目前工作階段中已啟動的使用提示的交易數量。與
Ndb_api_trans_start_count_session
比較,以取得能夠使用提示的所有 NDB 交易的比例。