21.3.3.9 NDB 群集的 MySQL 服务器选项和变量

本节提供有关特定于 NDB Cluster 的 MySQL 服务器选项,服务器和状态变量的信息。有关使用它们的一般信息,以及有关 NDB Cluster 以外的其他选项和变量,请参见第 5.1 节“ MySQL 服务器”

有关群集配置文件(通常名为config.ini)中使用的 NDB 群集配置参数,请参阅第 21.3 节“ NDB 群集的配置”

21.3.3.9.1 NDB 群集的 MySQL 服务器选项

本节提供有关 NDB 群集的mysqld服务器选项的说明。有关不是 NDB 群集特定的mysqld选项的信息,以及有关mysqld使用选项的一般信息,请参见第 5.1.6 节“服务器命令选项”

有关与其他 NDB 群集进程(ndbdndb_mgmdndb_mgm)一起使用的命令行选项的信息,请参见第 21.4.32 节“ NDB 群集程序的公用选项-NDB 群集程序的公用选项”。有关NDBUtil(例如ndb_descndb_size.plndb_show_tables)使用的命令行选项的信息,请参见第 21.4 节“ NDB 群集程序”

PropertyValue
Command-Line Format--ndbcluster[=value]
Disabled byskip-ndbcluster
TypeBoolean
Default ValueOFF

NDBCLUSTER存储引擎是使用 NDB 群集所必需的。如果mysqld二进制文件包含对NDBCLUSTER存储引擎的支持,则默认情况下将禁用该引擎。使用--ndbcluster选项启用它。使用--skip-ndbcluster明确禁用引擎。

不需要或不希望将此选项与--initialize一起使用。从 NDB 7.5.4 开始,如果还使用--initialize,则--ndbcluster将被忽略(并且NDB存储引擎未启用)。 (缺陷#81689,错误#23518923)

  • --ndb-allow-copying-alter-table=[ON|OFF]

PropertyValue
Command-Line Format--ndb-allow-copying-alter-table[={OFF|ON}]
Introduced5.7.10-ndb-7.5.0
System Variablendb_allow_copying_alter_table
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

ALTER TABLE和其他 DDL 语句对NDBtable 使用复制操作。设置为OFF可以防止这种情况的发生;这样做可以提高关键应用程序的性能。

  • --ndb-batch-size=#

PropertyValue
Command-Line Format--ndb-batch-size
System Variablendb_batch_size
ScopeGlobal
DynamicNo
TypeInteger
Default Value32768
Minimum Value0
Maximum Value31536000

这将设置用于 NDB 事务批处理的字节大小。

  • --ndb-cluster-connection-pool=#

PropertyValue
Command-Line Format--ndb-cluster-connection-pool
System Variablendb_cluster_connection_pool
System Variablendb_cluster_connection_pool
ScopeGlobal
ScopeGlobal
DynamicNo
DynamicNo
TypeInteger
Default Value1
Minimum Value1
Maximum Value63

通过将此选项设置为大于 1(默认值)的值,mysqld进程可以使用与群集的多个连接,从而有效地模仿了多个 SQL 节点。每个连接在群集配置(config.ini)文件中都需要其自己的[api][mysqld]部分,并计入群集支持的最大 API 连接数。

假设您有 2 台群集主机,每台群集主机运行一个 SQL 节点,该节点的mysqld进程以--ndb-cluster-connection-pool=4开始;这意味着群集必须有 8 个 API 插槽可用于这些连接(而不是 2 个)。所有这些连接都是在 SQL 节点连接到群集时构建的,并以循环方式分配给线程。

仅当在具有多个 CPU,多个内核或两者都有的主机上运行mysqld时,此选项才有用。为了获得最佳结果,该值应小于主机上可用内核的总数。将其设置为大于此值可能会严重降低性能。

Important

因为每个使用连接池的 SQL 节点都占用多个 API 节点插槽(每个插槽在集群中都有自己的节点 ID),所以在启动使用连接池的任何mysqld进程时,您必须不要*将节点 ID 用作集群连接字符串的一部分。

使用--ndb-cluster-connection-pool选项时,在连接字符串中设置节点 ID 会在 SQL 节点尝试连接到群集时导致节点 ID 分配错误。

  • --ndb-cluster-connection-pool-nodeids=list

PropertyValue
Command-Line Format--ndb-cluster-connection-pool-nodeids
Introduced5.7.10-ndb-7.5.0
系统变量(≥5.7.10-ndb-7.5.0)ndb_cluster_connection_pool_nodeids
范围(≥5.7.10-ndb-7.5.0)Global
动态(≥5.7.10-ndb-7.5.0)No
TypeSet
Default Value``

指定以逗号分隔的节点 ID 列 table,用于连接到 SQL 节点使用的群集。此列 table 中的节点数必须与为--ndb-cluster-connection-pool选项设置的值相同。

--ndb-cluster-connection-pool-nodeids已添加到 NDB 7.5.0 中。

  • --ndb-blob-read-batch-bytes=bytes

PropertyValue
Command-Line Format--ndb-blob-read-batch-bytes
System Variablendb_blob_read_batch_bytes
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value65536
Minimum Value0
Maximum Value4294967295

此选项可用于设置 NDB Cluster 应用程序中批处理BLOB数据读取的大小(以字节为单位)。当该批处理大小超出当前事务中要读取的BLOB数据量时,将立即执行所有未决的BLOB读取操作。

此选项的最大值为 4294967295;默认值为 65536.将其设置为 0 会禁用BLOB读取批处理。

Note

在 NDB API 应用程序中,您可以使用setMaxPendingBlobReadBytes()getMaxPendingBlobReadBytes()方法控制BLOB写批处理。

  • --ndb-blob-write-batch-bytes=bytes

PropertyValue
Command-Line Format--ndb-blob-write-batch-bytes
System Variablendb_blob_write_batch_bytes
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value65536
Minimum Value0
Maximum Value4294967295

此选项可用于设置 NDB Cluster 应用程序中批处理BLOB数据写入的大小(以字节为单位)。当此批处理大小超出当前事务中要写入的BLOB数据量时,将立即执行所有未决的BLOB写入操作。

此选项的最大值为 4294967295;默认值为 65536.将其设置为 0 会禁用BLOB写批处理。

Note

在 NDB API 应用程序中,您可以使用setMaxPendingBlobWriteBytes()getMaxPendingBlobWriteBytes()方法控制BLOB写批处理。

  • --ndb-connectstring=connection_string

PropertyValue
Command-Line Format--ndb-connectstring
TypeString

使用NDBCLUSTER存储引擎时,此选项指定分发群集配置数据的 Management 服务器。有关语法,请参见第 21.3.3.3 节“ NDB 群集连接字符串”

  • --ndb-default-column-format=[FIXED|DYNAMIC]

PropertyValue
Command-Line Format--ndb-default-column-format={FIXED|DYNAMIC}
Introduced5.7.11-ndb-7.5.1
System Variablendb_default_column_format
ScopeGlobal
DynamicYes
TypeEnumeration
默认值(≥5.7.16-ndb-7.5.4)FIXED
默认值(≥5.7.11-ndb-7.5.1,≤5.7.13-ndb-7.5.3)DYNAMIC
Valid ValuesFIXED

DYNAMIC

在 NDB 7.5.1 和更高版本中,为新 table 设置默认的COLUMN_FORMATROW_FORMAT(请参见第 13.1.18 节“ CREATE TABLE 语句”)。

在 NDB 7.5.1 中,此选项的默认值为DYNAMIC;在 NDB 7.5.4 中,默认值已更改为FIXED,以保持与较早版本系列的向后兼容性(错误#24487363)。

  • --ndb-deferred-constraints=[0|1]

PropertyValue
Command-Line Format--ndb-deferred-constraints
System Variablendb_deferred_constraints
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value0
Minimum Value0
Maximum Value1

控制是否将对唯一索引的约束检查推迟到提交时间(支持这种检查的时间)之前。 0是默认值。

NDB 群集或 NDB 群集复制的操作通常不需要此选项,主要用于测试。

  • --ndb-distribution=[KEYHASH|LINHASH]

PropertyValue
Command-Line Format--ndb-distribution={KEYHASH|LINHASH}
System Variablendb_distribution
ScopeGlobal
DynamicYes
TypeEnumeration
Default ValueKEYHASH
Valid ValuesLINHASH

KEYHASH

控制NDB个 table 的默认分发方法。可以设置为KEYHASH(键哈希)或LINHASH(线性哈希)。 KEYHASH是默认值。

  • --ndb-log-apply-status

PropertyValue
Command-Line Format--ndb-log-apply-status[={OFF|ON}]
System Variablendb_log_apply_status
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

使副本mysqld使用其自己的服务器 ID(而不是源的服务器 ID)将从其直接来源接收到的所有更新记录到其自己的二进制日志中的mysql.ndb_apply_statustable 中。在循环或链式复制设置中,这允许此类更新传播到配置为当前mysqld副本的任何 MySQL 服务器的mysql.ndb_apply_statustable。

在链复制设置中,使用此选项可使下游(副本)群集了解其相对于所有上游贡献者(源)的位置。

在循环复制设置中,此选项导致对ndb_apply_statustable 的更改以完成整个电路,最终传播回原始 NDB 群集。这还允许充当源的聚类查看其更改(历元)何时已应用于圆中的其他聚类。

除非使用--ndbcluster选项启动 MySQL 服务器,否则该选项无效。

  • --ndb-log-empty-epochs=[ON|OFF]

PropertyValue
Command-Line Format--ndb-log-empty-epochs[={OFF|ON}]
System Variablendb_log_empty_epochs
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

导致即使没有启用log_slave_updates,也没有将任何更 Rewrite 入ndb_apply_statusndb_binlog_indextable 的时期。

默认情况下,此选项是禁用的。禁用--ndb-log-empty-epochs会导致没有更改的纪元事务不会写入二进制日志,尽管即使对于ndb_binlog_index中的空纪元也仍会写一行。

由于--ndb-log-empty-epochs=1导致ndb_binlog_indextable 的大小独立于二进制日志的大小而增加,因此即使用户希望群集在大部分时间处于空闲状态,用户也应准备好 Management 该 table 的增长。

  • --ndb-log-empty-update=[ON|OFF]

PropertyValue
Command-Line Format--ndb-log-empty-update[={OFF|ON}]
System Variablendb_log_empty_update
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

启用log_slave_updates时,导致不产生任何更改的更新被写入ndb_apply_statusndb_binlog_indextable。

默认情况下,此选项为禁用(OFF)。禁用--ndb-log-empty-update会导致没有更改的更新不会写入二进制日志。

  • --ndb-log-exclusive-reads=[0|1]

PropertyValue
Command-Line Format--ndb-log-exclusive-reads[={OFF|ON}]
System Variablendb_log_exclusive_reads
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default Value0

使用此选项启动服务器会导致使用排他锁记录主键读取,从而允许 NDB 群集复制冲突检测和基于读取冲突的解决。您还可以在运行时通过将ndb_log_exclusive_reads系统变量的值分别设置为 1 或 0 来启用和禁用这些锁。默认值为 0(禁用锁定)。

有关更多信息,请参见读取冲突检测和解决

  • --ndb-log-fail-terminate

PropertyValue
Command-Line Format--ndb-log-fail-terminate
Introduced5.7.29-ndb-7.6.14
System Variablendb_log_fail_terminate
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueFALSE

如果指定了此选项,并且不可能完整记录所有找到的行事件,则mysqld进程终止。

  • --ndb-log-orig

PropertyValue
Command-Line Format--ndb-log-orig[={OFF|ON}]
System Variablendb_log_orig
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

将原始服务器 ID 和纪元记录在ndb_binlog_indextable 中。

Note

这样一来,给定的纪元就可以在ndb_binlog_index中包含多行,每个原始纪元都有一个行。

有关更多信息,请参见第 21.6.4 节“ NDB 群集复制架构和 table”

  • --ndb-log-transaction-id

PropertyValue
Command-Line Format--ndb-log-transaction-id[={OFF|ON}]
System Variablendb_log_transaction_id
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

使副本mysqld在二进制日志的每一行中写入 NDB 事务 ID。这种日志记录要求对二进制日志使用版本 2 事件格式。因此,必须禁用log_bin_use_v1_row_events系统变量才能使用此选项。

主线 MySQL Server 5.7 不支持此选项。需要使用NDB$EPOCH_TRANS()功能启用 NDB 群集复制冲突检测和解决(请参阅NDB$EPOCH_TRANS())。

默认值为FALSE

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

  • --ndb-log-update-minimal

PropertyValue
Command-Line Format--ndb-log-update-minimal[={OFF|ON}]
Introduced5.7.18-ndb-7.6.3
System Variablendb_log_update_minimal
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

通过仅在前映像中写入主键值,并仅在后映像中写入更改的列,以最小的方式记录日志更新。如果复制到NDB以外的存储引擎,则可能会导致兼容性问题。

  • --ndb-mgmd-host=host[:port]

PropertyValue
Command-Line Format--ndb-mgmd-host=host_name[:port_num]
TypeString
Default Valuelocalhost:1186

可用于设置程序要连接到的单个 Management 服务器的主机和端口号。如果该程序在其连接信息中需要节点 ID 或对多个 Management 服务器的引用(或两者都引用),请改用--ndb-connectstring选项。

  • --ndb-nodeid=#

PropertyValue
Command-Line Format--ndb-nodeid=#
Status VariableNdb_cluster_node_id
ScopeGlobal
DynamicNo
TypeInteger
Minimum Value1
Maximum Value255
Maximum Value63

在 NDB 群集中设置此 MySQL 服务器的节点 ID。

--ndb-nodeid选项将覆盖用--ndb-connectstring设置的任何节点 ID,而不管两个选项的使用 Sequences。

此外,如果使用--ndb-nodeid,则必须在config.ini[mysqld][api]节中找到匹配的节点 ID,或者文件中必须有“打开” [mysqld][api]节(即,没有NodeId的节)或Id参数指定)。如果将节点 ID 指定为连接字符串的一部分,则也是如此。

无论如何确定节点 ID,它都将在SHOW STATUS的输出中显示为全局状态变量Ndb_cluster_node_id的值,并在显示引擎 NDBCLUSTER 状态的输出connection行中显示为cluster_node_id

有关 NDB Cluster SQL 节点的节点 ID 的更多信息,请参见第 21.3.3.7 节“在 NDB 群集中定义 SQL 和其他 API 节点”

  • --ndb-optimization-delay=milliseconds

PropertyValue
Command-Line Format--ndb-optimization-delay=#
System Variablendb_optimization_delay
ScopeGlobal
DynamicYes
TypeInteger
Default Value10
Minimum Value0
Maximum Value100000

设置NDBtable 上的OPTIMIZE TABLE语句在行集合之间 await 的毫秒数。预设值为 10.

  • --ndb-transid-mysql-connection-map=state

PropertyValue
Command-Line Format--ndb-transid-mysql-connection-map[=state]
TypeEnumeration
Default ValueON
Valid ValuesON

OFF
FORCE

启用或禁用处理INFORMATION_SCHEMA数据库中的ndb_transid_mysql_connection_maptable 的插件。取值ONOFFFORCE之一。 ON(默认)启用插件。 OFF禁用插件,这使得ndb_transid_mysql_connection_map无法访问。如果插件无法加载和启动,则FORCE阻止 MySQL 服务器启动。

您可以通过检查SHOW PLUGINS的输出来查看ndb_transid_mysql_connection_maptable 插件是否正在运行。

  • --ndb-wait-connected=seconds

PropertyValue
Command-Line Format--ndb-wait-connected=#
System Variablendb_wait_connected
ScopeGlobal
DynamicNo
TypeInteger
Default Value30
Minimum Value0
Maximum Value31536000

此选项设置 MySQL 服务器在接受 MySQLClient 端连接之前 await 与 NDB 群集 Management 和数据节点构建连接的时间。时间以秒为单位指定。默认值为30

  • --ndb-wait-setup=seconds

PropertyValue
Command-Line Format--ndb-wait-setup=#
System Variablendb_wait_setup
ScopeGlobal
DynamicNo
TypeInteger
Default Value30
Default Value30
Default Value15
Default Value15
Minimum Value0
Maximum Value31536000

该变量显示 MySQL 服务器 awaitNDB存储引擎完成设置的时间,然后超时并将NDB视为不可用。时间以秒为单位指定。默认值为30

  • --skip-ndbcluster

PropertyValue
Command-Line Format--skip-ndbcluster

禁用NDBCLUSTER存储引擎。这是使用NDBCLUSTER存储引擎支持构建的二进制文件的默认设置;仅当显式指定--ndbcluster选项时,服务器才会为此存储引擎分配内存和其他资源。有关示例,请参见第 21.3.1 节“ NDB 群集的快速测试设置”

21.3.3.9.2 NDB 群集系统变量

本节提供有关特定于 NDB Cluster 和NDB存储引擎的 MySQL 服务器系统变量的详细信息。有关不是特定于 NDB 群集的系统变量,请参见第 5.1.7 节“服务器系统变量”。有关使用系统变量的一般信息,请参见第 5.1.8 节“使用系统变量”

PropertyValue
Command-Line Format--ndb-autoincrement-prefetch-sz=#
System Variablendb_autoincrement_prefetch_sz
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value1
Minimum Value1
Maximum Value65536

确定自动递增列中的间隔的概率。将其设置为1可将其最小化。将其设置为较高的值以进行优化可加快插入速度,但会降低在一批插入物中使用连续自动递增编号的可能性。

该变量仅影响语句之间获取的AUTO_INCREMENT ID 的数量;在给定的语句中,一次至少获得 32 个 ID。

Important

此变量不会影响使用插入...选择执行的插入。

PropertyValue
Command-Line Format--ndb-cache-check-time=#
Deprecated5.7.20
System Variablendb_cache_check_time
ScopeGlobal
DynamicYes
TypeInteger
Default Value0

MySQL 查询缓存检查 NDB Cluster SQL 节点之间经过的毫秒数。将此设置为 0(默认值和最小值)意味着查询缓存将检查每个查询的有效性。

此变量的建议最大值为 1000,这 table 示每秒执行一次检查。较大的值 table 示执行检查,并且由于在不同 SQL 节点上进行更新的频率较低而可能使检查无效。通常不希望将其设置为大于 2000 的值。

Note

从 MySQL 5.7.20 开始,查询缓存已弃用,并在 MySQL 8.0 中删除。弃用包括ndb_cache_check_time

PropertyValue
Command-Line Format--ndb-clear-apply-status[={OFF|ON}]
System Variablendb_clear_apply_status
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueON

默认情况下,执行RESET SLAVE会导致 NDB 群集副本从其ndb_apply_statustable 中清除所有行。您可以通过设置ndb_clear_apply_status=OFF禁用此功能。

PropertyValue
Command-Line Format--ndb-data-node-neighbour=#
Introduced5.7.12-ndb-7.5.2
System Variablendb_data_node_neighbour
ScopeGlobal
DynamicYes
TypeInteger
Default Value0
Minimum Value0
Maximum Value255

设置“最近”数据节点的 ID,即,选择首选的 nonlocal 数据节点来执行事务,而不是与 SQL 或 API 节点在同一主机上运行的节点。这用于确保访问完全复制的 table 时,我们在此数据节点上对其进行访问,以确保在可能的情况下始终使用 table 的本地副本。这也可以用于提供 Transaction 提示。

如果节点的物理距离比同一个主机上的其他节点更近,因此可以提高数据访问时间。

有关更多信息,请参见第 13.1.18.9 节“设置 NDB_TABLE 选项”

在 NDB 7.5.2 中添加。

Note

提供了等效的方法set_data_node_neighbour()以便在 NDB API 应用程序中使用。

PropertyValue
Command-Line Format--ndb-default-column-format={FIXED|DYNAMIC}
Introduced5.7.11-ndb-7.5.1
System Variablendb_default_column_format
ScopeGlobal
DynamicYes
TypeEnumeration
默认值(≥5.7.16-ndb-7.5.4)FIXED
默认值(≥5.7.11-ndb-7.5.1,≤5.7.13-ndb-7.5.3)DYNAMIC
Valid ValuesFIXED

DYNAMIC

在 NDB 7.5.1 和更高版本中,为新 table 设置默认的COLUMN_FORMATROW_FORMAT(请参见第 13.1.18 节“ CREATE TABLE 语句”)。

在 NDB 7.5.1 中,此变量的默认值为DYNAMIC;在 NDB 7.5.4 中,默认值已更改为FIXED,以保持与较早版本系列的向后兼容性(错误#24487363)。

PropertyValue
Command-Line Format--ndb-deferred-constraints=#
System Variablendb_deferred_constraints
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value0
Minimum Value0
Maximum Value1

控制是否在支持约束检查的情况下推迟约束检查。 0是默认值。

NDB 群集或 NDB 群集复制的操作通常不需要此变量,并且主要用于测试。

PropertyValue
Command-Line Format--ndb-distribution={KEYHASH|LINHASH}
System Variablendb_distribution
ScopeGlobal
DynamicYes
TypeEnumeration
Default ValueKEYHASH
Valid ValuesLINHASH

KEYHASH

控制NDB个 table 的默认分发方法。可以设置为KEYHASH(键哈希)或LINHASH(线性哈希)。 KEYHASH是默认值。

PropertyValue
Command-Line Format--ndb-eventbuffer-free-percent=#
System Variablendb_eventbuffer_free_percent
ScopeGlobal
DynamicYes
TypeInteger
Default Value20
Minimum Value1
Maximum Value99

设置分配给事件缓冲区的最大内存(ndb_eventbuffer_max_alloc)的百分比,该内存在达到最大值后,在再次开始缓冲之前应该在事件缓冲区中可用。

PropertyValue
Command-Line Format--ndb-eventbuffer-max-alloc=#
System Variablendb_eventbuffer_max_alloc
ScopeGlobal
DynamicYes
TypeInteger
Default Value0
Minimum Value0
Maximum Value4294967295

设置 NDB API 可以分配用于缓冲事件的最大内存量(以字节为单位)。 0table 示不强加任何限制,并且是默认值。

PropertyValue
Command-Line Formatndb_extra_logging=#
System Variablendb_extra_logging
ScopeGlobal
DynamicYes
TypeInteger
Default Value1

使用此变量可以将特定于NDB存储引擎的信息记录在 MySQL 错误日志中。

当此变量设置为 0 时,唯一写入到 MySQL 错误日志的NDB特定信息与事务处理有关。如果将其设置为大于 0 但小于 10 的值,则还将记录NDBtable 架构和连接事件,以及是否正在使用冲突解决方法以及其他NDB错误和信息。如果该值设置为 10 或更大,则有关NDB内部的信息(例如,群集节点之间的数据分发进度)也将写入 MySQL 错误日志。预设值为 1.

PropertyValue
Command-Line Format--ndb-force-send[={OFF|ON}]
System Variablendb_force_send
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

强制立即将缓冲区发送到NDB,而无需 await 其他线程。默认为ON

PropertyValue
Command-Line Format--ndb-fully-replicated[={OFF|ON}]
Introduced5.7.12-ndb-7-5-2
System Variablendb_fully_replicated
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueOFF

确定是否完全复制新的NDBtable。可以在CREATE TABLEALTER TABLE语句中使用COMMENT="NDB_TABLE=FULLY_REPLICATED=..."来覆盖单个 table 的此设置;有关语法和其他信息,请参见第 13.1.18.9 节“设置 NDB_TABLE 选项”

在 NDB 7.5.2 中添加。

PropertyValue
Command-Line Format--ndb-index-stat-enable[={OFF|ON}]
System Variablendb_index_stat_enable
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

在查询优化中使用NDB索引统计信息。默认值为ON

PropertyValue
Command-Line Format--ndb-index-stat-option=value
System Variablendb_index_stat_option
ScopeGlobal, Session
DynamicYes
TypeString
Default Valueloop_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 索引统计信息生成提供调整选项。该列 table 由选项名称和值的逗号分隔名称/值对组成,并且该列 table 不得包含任何空格字符。

设置ndb_index_stat_option时未使用的选项不会更改为其默认值。例如,您可以设置ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'

可以选择在时间值后加上h(小时),m(分钟)或s(秒)作为后缀。可以使用ms指定毫秒值;不能使用hms指定毫秒值。)可以在KMG后缀整数值。

下 table 中显示了可以使用此变量设置的选项的名称。该 table 还提供了有关选项,其默认值以及(如果适用)其最小值和最大值的简要说明。

table21.206 ndb_index_stat_option 选项和值

NameDescriptionDefault/UnitsMinimum/Maximum
loop_enable1000 ms0/4G
loop_idle空闲时睡觉的时间1000 ms0/4G
loop_busyawait 更多工作的时候睡觉100 ms0/4G
update_batch10/4G
read_batch41/4G
idle_batch321/4G
check_batch81/4G
check_delay多久检查一次新统计数据10 m1/4G
delete_batch80/4G
clean_delay1 m0/4G
error_batch41/4G
error_delay1 m1/4G
evict_batch81/4G
evict_delay从读取时间开始清理 LRU 缓存1 m0/4G
cache_limitmysqld用于缓存索引统计信息的最大内存量(以字节为单位);超过此数量时清理缓存。32 M0/4G
cache_lowpct900/100
zero_total将此设置为 1 会将ndb_index_stat_status中的所有累加计数器重置为 0.完成此操作后,此选项值也将重置为 0.00/1

PropertyValue
System Variablendb_join_pushdown
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

此变量控制是否将NDBtable 上的联接下推到 NDB 内核(数据节点)。以前,联接是通过 SQL 节点使用NDB的多次访问来处理的;但是,启用ndb_join_pushdown时,可推送联接将全部发送到数据节点,在其中可将其分布在数据节点之间并在数据的多个副本上并行执行,并将合并后的单个结果返回给mysqld 。这可以大大减少处理这种联接所需的 SQL 节点与数据节点之间的往返次数。

默认情况下,启用ndb_join_pushdown

NDB 下推式连接的条件. 为了使连接可推送,它必须满足以下条件:

  • 只能比较列,并且要连接的所有列必须“完全”使用相同的数据类型。

这意味着诸如t1.a = t2.a + constant之类的 table 达式不能被下推,并且(例如)INT列和BIGINT列上的联接也不能被下推。

  • 不支持引用BLOBTEXT列的查询。

  • 不支持显式锁定;但是,将强制执行NDB存储引擎的 Feature 性隐式基于行的锁定。

这意味着使用FOR UPDATE的联接不能被下推。

  • 为了下推联接,必须使用refeq_refconst访问方法之一或这些方法的某种组合来访问联接中的子 table。

外部联接的子 table 只能使用eq_ref推送。

如果强制连接的根是eq_refconst,则只能附加由eq_ref连接的子 table。 (用ref连接的 table 很可能成为另一个推入连接的根。)

如果查询优化器为候选子 table 确定Using join cache,则该 table 不能作为子 table 推入。但是,它可能是另一组推入 table 的根。

  • 当前无法下推由[LINEAR] HASHLISTRANGE显式分区的联接引用 table。

您可以通过使用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)

Note

如果内部联接的子 table 通过ref联接,并且*并且结果是按排序的索引排序或分组的,则该索引无法提供排序的行,这会强制写入排序的临时文件。

提供了有关推入连接性能的两个其他信息来源:

PropertyValue
Command-Line Format--ndb-log-apply-status[={OFF|ON}]
System Variablendb_log_apply_status
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

一个只读变量,显示服务器是否使用--ndb-log-apply-status选项启动。

PropertyValue
Command-Line Format--ndb-log-bin[={OFF|ON}]
System Variablendb_log_bin
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

使对NDBtable 的更新被写入二进制日志。如果尚未使用log_bin为服务器启用二进制日志记录,则设置此变量无效。 ndb_log_bin默认为 1(ON);通常,在生产环境中永远不需要更改此值。

PropertyValue
Command-Line Format--ndb-log-binlog-index[={OFF|ON}]
System Variablendb_log_binlog_index
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueON

使历元到二进制日志中位置的 Map 插入到ndb_binlog_indextable 中。如果尚未使用log_bin为服务器启用二进制日志记录,则设置此变量无效。 (此外,不得禁用ndb_log_bin。)ndb_log_binlog_index默认为1(ON);通常,在生产环境中永远不需要更改此值。

PropertyValue
Command-Line Format--ndb-log-empty-epochs[={OFF|ON}]
System Variablendb_log_empty_epochs
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

当此变量设置为 0 时,没有变化的纪元事务不会写入二进制日志,尽管即使对于ndb_binlog_index中的空纪元也将写一行。

PropertyValue
Command-Line Format--ndb-log-empty-update[={OFF|ON}]
System Variablendb_log_empty_update
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

当此变量设置为ON(1)时,即使启用了log_slave_updates,更新事务也不会更改而被写入二进制日志。

PropertyValue
Command-Line Format--ndb-log-exclusive-reads[={OFF|ON}]
System Variablendb_log_exclusive_reads
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default Value0

此变量确定是否使用排他锁记录主键读取,从而允许 NDB 群集复制冲突检测和基于读取冲突的解决。要启用这些锁定,请将ndb_log_exclusive_reads的值设置为 1.默认值为 0.

有关更多信息,请参见读取冲突检测和解决

PropertyValue
Command-Line Format--ndb-log-orig[={OFF|ON}]
System Variablendb_log_orig
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

显示是否在ndb_binlog_indextable 中记录了原始服务器 ID 和时期。使用--ndb-log-orig服务器选项进行设置。

PropertyValue
System Variablendb_log_transaction_id
ScopeGlobal
DynamicNo
TypeBoolean
Default ValueOFF

此只读布尔系统变量显示副本mysqld是否在二进制日志中写入 NDB 事务 ID(需要将“主动-主动” NDB 群集复制与NDB$EPOCH_TRANS()冲突检测一起使用)。要更改设置,请使用--ndb-log-transaction-id选项。

主线 MySQL Server 5.7 不支持ndb_log_transaction_id

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

PropertyValue
Command-Line Format--ndb-optimized-node-selection=#
System Variablendb_optimized_node_selection
ScopeGlobal
DynamicNo
TypeInteger
Default Value3
Minimum Value0
Maximum Value3

优化节点选择有两种形式,在此进行描述:

  • SQL 节点使用混合来确定事务协调器。也就是说,选择距 SQL 节点“最近”的数据节点作为事务处理协调器。为此,与 SQL 节点具有共享内存连接的数据节点被认为与 SQL 节点“最近”;接下来的最近的(按减小的 Sequences 排列)是:到localhost的 TCP 连接,然后是来自localhost以外的主机的 TCP 连接。

  • SQL 线程使用分发感知来选择数据节点。即,将包含由给定事务的第一条语句访问的群集分区的数据节点用作整个事务的事务协调器。 (仅在事务的第一条语句访问不超过一个集群分区时,此方法才有效.)

此选项采用整数值0123之一。 3是默认值。这些值影响节点选择,如下所示:

  • 0:未优化节点选择。在 SQL 线程进入下一个数据节点之前,每个数据节点均被用作事务协调器 8 次。

    • 1:接近 SQL 节点用于确定事务协调器。

    • 2:分发意识用于选择事务协调器。但是,如果事务的第一条语句访问多个群集分区,则该节点设置为0时,SQL 节点将恢复为循环行为。

    • 3:如果可以使用分发意识来确定事务协调器,则使用它;否则,使用接近度来选择 Transaction 协调器。 (这是默认行为.)

接近程度确定如下:

  • 从为Group参数设置的值开始(默认为 55)。

  • 对于与其他 API 节点共享同一主机的 API 节点,将该值减 1.假设Group的默认值,与 API 节点在同一主机上的数据节点的有效值为 54,而远程数据节点的有效值为 55.

  • (* NDB 7.5.2 及更高版本:*)设置ndb_data_node_neighbour会将有效Group值进一步减小 50,从而将该节点视为最近的节点。仅当所有数据节点都位于托管 API 节点以外的其他主机上并且需要将其中一个专用于 API 节点时,才需要这样做。在正常情况下,前面描述的默认调整就足够了。

不建议频繁进行ndb_data_node_neighbour的更改,因为这会更改群集连接的状态,因此可能会中断来自每个线程的新事务的选择算法,直到稳定为止。

PropertyValue
Command-Line Format--ndb-read-backup[={OFF|ON}]
Introduced5.7.12-ndb-7.5.2
System Variablendb_read_backup
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

为随后创建的任何NDBtable 启用从任何副本中读取;这样做以相对较小的写入成本大大提高了 table 读取性能。

要为单个 table 启用或禁用从任何副本的读取,可以在CREATE TABLEALTER TABLE语句中为 table 设置NDB_TABLE选项READ_BACKUP;有关更多信息,请参见第 13.1.18.9 节“设置 NDB_TABLE 选项”

在 NDB 7.5.2 中添加。

PropertyValue
Command-Line Format--ndb-recv-thread-activation-threshold=#
System Variablendb_recv_thread_activation_threshold
ScopeGlobal
DynamicYes
TypeInteger
Default Value8
Minimum Value0 (MIN_ACTIVATION_THRESHOLD)
Maximum Value16 (MAX_ACTIVATION_THRESHOLD)

当达到并发活动线程的数量时,接收线程将接管集群连接的轮询。

此变量的作用域是全局的。也可以在启动时进行设置。

PropertyValue
Command-Line Format--ndb-recv-thread-cpu-mask=mask
System Variablendb_recv_thread_cpu_mask
ScopeGlobal
DynamicYes
TypeBitmap
Default Value[empty]

用于将接收器线程锁定到特定 CPU 的 CPU 掩码。指定为十六进制位掩码。例如,0x33table 示每个接收器线程使用一个 CPU。默认为空字符串。将ndb_recv_thread_cpu_mask设置为该值将删除以前设置的所有接收器线程锁。

此变量的作用域是全局的。也可以在启动时进行设置。

PropertyValue
Command-Line Format--ndb-report-thresh-binlog-epoch-slip=#
System Variablendb_report_thresh_binlog_epoch_slip
ScopeGlobal
DynamicYes
TypeInteger
默认值(≥5.7.16-ndb-7.5.4)10
默认值(≤5.7.13-ndb-7.5.3)3
Minimum Value0
Maximum Value256

在 NDB 7.5.4 和更高版本中,这 table 示完全缓冲在事件缓冲区中,但尚未被 binlog 注入程序线程消耗的纪元数的阈值。当超过此滑动程度(滞后)时,将报告事件缓冲区状态消息,并提供BUFFERED_EPOCHS_OVER_THRESHOLD作为原因(请参见第 21.5.2.3 节“群集日志中的事件缓冲区报告”)。当从数据节点接收到一个纪元并将其完全缓冲在事件缓冲区中时,滑动会增加;当二进制日志注入器线程消耗了一个纪元时,它减少了,减少了。空历元被缓冲和排队,因此仅当使用 NDB API 中的Ndb::setEventBufferQueueEmptyEpoch()方法启用空历元时,才将其包括在此计算中。

在 NDB 7.5.4 之前,此可变参数的值用作报告二进制日志状态之前要落后的时期数的阈值。在这些以前的版本中,值3(默认值)table 示如果已从存储节点接收到哪个纪元和已将二进制文件应用于哪个纪元之间的差是 3 或更大,则将状态消息发送到群集日志。

PropertyValue
Command-Line Format--ndb-report-thresh-binlog-mem-usage=#
System Variablendb_report_thresh_binlog_mem_usage
ScopeGlobal
DynamicYes
TypeInteger
Default Value10
Minimum Value0
Maximum Value10

这是报告二进制日志状态之前剩余可用内存百分比的阈值。例如,值10(缺省值)table 示如果用于从数据节点接收二进制日志数据的可用内存量低于 10%,则会向群集日志发送状态消息。

PropertyValue
Introduced5.7.23-ndb-7.6.8
System Variablendb_row_checksum
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value1
Minimum Value0
Maximum Value1

传统上,NDB已创建带有行校验和的 table,这些 table 会检查硬件问题,但会降低性能。将ndb_row_checksum设置为 0 意味着行校验和不用于新 table 或更改后的 table,这对所有类型的查询的性能都有重要影响。默认情况下,此变量设置为 1,以提供向后兼容的行为。

PropertyValue
Command-Line Format--ndb-show-foreign-key-mock-tables[={OFF|ON}]
System Variablendb_show_foreign_key_mock_tables
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

显示NDB用于支持foreign_key_checks=0的模拟 table。启用此功能后,在创建和删除 table 时会显示额外的警告。该 table 的真实(内部)名称可以在显示创建 table的输出中看到。

PropertyValue
Command-Line Format--ndb-slave-conflict-role=value
System Variablendb_slave_conflict_role
ScopeGlobal
DynamicYes
TypeEnumeration
Default ValueNONE
Valid ValuesNONE

PRIMARY
SECONDARY
PASS

确定此 SQL 节点(和 NDB 群集)在循环(“主动-主动”)复制设置中的角色。 ndb_slave_conflict_role可以采用值PRIMARYSECONDARYPASSNULL(默认值)中的任何一个。必须先停止副本 SQL 线程,然后才能更改ndb_slave_conflict_role。另外,不可能直接在PASSPRIMARYSECONDARY之间直接进行更改;在这种情况下,必须确保 SQL 线程已停止,然后先执行SET @@ GLOBAL.ndb_slave_conflict_role ='无'

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

PropertyValue
System Variablendb_table_no_logging
ScopeSession
DynamicYes
TypeBoolean
Default ValueOFF

当此变量设置为ON1时,它将导致NDB个 table 不被检查指向磁盘。更具体地说,此设置适用于在启用ndb_table_no_logging时使用ENGINE NDB创建或更改的 table,即使在以后更改ndb_table_no_logging的情况下,该设置也 continue 适用于 table 的生命周期。假设ABCD是我们创建的 table(也许还可以更改),并且我们还更改了ndb_table_no_logging的设置,如下所示:

SET @@ndb_table_no_logging = 1;

CREATE TABLE A ... ENGINE NDB;

CREATE TABLE B ... ENGINE MYISAM;
CREATE TABLE C ... ENGINE MYISAM;

ALTER TABLE B ENGINE NDB;

SET @@ndb_table_no_logging = 0;

CREATE TABLE D ... ENGINE NDB;
ALTER TABLE C ENGINE NDB;

SET @@ndb_table_no_logging = 1;

在上一个事件序列之后,未对 tableAB进行检查点; A是使用ENGINE NDB创建的,并且 B 更改为使用NDB,同时启用了ndb_table_no_logging。但是,记录了 tableCDC已更改为使用NDB,而D是使用ENGINE NDB创建的,都禁用了ndb_table_no_logging。将ndb_table_no_logging设置回1ON不会导致tableCD被检查。

Note

ndb_table_no_logging对创建NDBtable 模式文件没有影响;要抑制这些,请改用ndb_table_temporary

PropertyValue
System Variablendb_table_temporary
ScopeSession
DynamicYes
TypeBoolean
Default ValueOFF

当设置为ON1时,此变量导致不将NDB个 table 写入磁盘:这意味着未创建任何 table 模式文件,并且未记录这些 table。

Note

设置此变量当前无效。这是一个已知的问题;参见错误#34036.

PropertyValue
System Variablendb_use_copying_alter_table
ScopeGlobal, Session
DynamicNo

在线ALTER TABLE操作出现问题时,强制NDB使用 table 的复制。默认值为OFF

PropertyValue
System Variablendb_use_exact_count
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueOFF

强制NDBSELECT COUNT(*)查询计划期间使用记录数,以加快此类查询的速度。默认值为OFF,它允许整体上更快的查询。

PropertyValue
Command-Line Format--ndb-use-transactions[={OFF|ON}]
System Variablendb_use_transactions
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueON

您可以通过将此变量的值设置为OFF(不推荐)来禁用NDB事务支持。默认值为ON

PropertyValue
System Variablendb_version
ScopeGlobal
DynamicNo
TypeString
Default Value``

NDB引擎版本,以整数形式 table 示。

PropertyValue
System Variablendb_version_string
ScopeGlobal
DynamicNo
TypeString
Default Value``

NDB引擎版本为ndb-x.y.z格式。

PropertyValue
Command-Line Format--server-id-bits=#
System Variableserver_id_bits
ScopeGlobal
DynamicNo
TypeInteger
Default Value32
Minimum Value7
Maximum Value32

此变量指示 32 位server_id内实际标识服务器的最低有效位的数量。指出服务器实际上是由少于 32 位标识的,这使得剩余的一些位可以用于其他目的,例如将由使用 NDB API 的事件 API 的应用程序生成的用户数据存储在OperationOptions结构的AnyValue中( NDB 群集使用AnyValue来存储服务器 ID。

当出于检测复制循环之类的目的从server_id提取有效服务器 ID 时,服务器将忽略其余位。当根据服务器 ID 确定是否应忽略事件时,使用server_id_bits变量来屏蔽 IO 和 SQL 线程中server_id的所有无关位。

可以使用mysqlbinlog从二进制日志中读取此数据,前提是该数据使用自己的server_id_bits变量设置为 32(默认值)运行。

如果server_id的值大于或等于server_id_bits的幂;否则,mysqld拒绝启动。

NDB 群集仅支持此系统变量。标准 MySQL 5.7 服务器不支持它。

PropertyValue
Command-Line Format--slave-allow-batching[={OFF|ON}]
System Variableslave_allow_batching
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

是否在 NDB 群集副本上启用了批处理更新。

仅当将复制与NDB存储引擎一起使用时,设置此变量才有效。在 MySQL Server 5.7 中,它存在但不执行任何操作。有关更多信息,请参见第 21.6.6 节“启动 NDB 群集复制(单个复制通道)”

PropertyValue
System Variabletransaction_allow_batching
ScopeSession
DynamicYes
TypeBoolean
Default ValueOFF

当设置为1ON时,此变量启用同一事务内的语句批处理。要使用此变量,必须先将autocommit设置为0OFF来将其禁用;否则,设置transaction_allow_batching无效。

将此变量与仅执行写操作的事务一起使用是安全的,因为启用该变量可能导致从“之前”映像进行读取。您应确保在发出SELECT之前提交了所有未决的事务(如果需要,使用显式的COMMIT)。

Important

只要给定语句的效果取决于同一事务中前一个语句的结果,就不应使用transaction_allow_batching

当前仅 NDB 群集支持此变量。

下 table 中的系统变量都与ndbinfo信息数据库有关。

PropertyValue
System Variablendbinfo_database
ScopeGlobal
DynamicNo
TypeString
Default Valuendbinfo

显示用于NDB信息数据库的名称;默认值为ndbinfo。这是一个只读变量,其值在编译时确定。您可以通过使用--ndbinfo-database=name启动服务器来进行设置,--ndbinfo-database=name设置为此变量显示的值,但实际上并不更改用于 NDB 信息数据库的名称。

PropertyValue
Command-Line Format--ndbinfo-max-bytes=#
System Variablendbinfo_max_bytes
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value0

仅用于测试和调试。

PropertyValue
Command-Line Format--ndbinfo-max-rows=#
System Variablendbinfo_max_rows
ScopeGlobal, Session
DynamicYes
TypeInteger
Default Value10

仅用于测试和调试。

PropertyValue
System Variablendbinfo_offline
ScopeGlobal
DynamicYes
TypeBoolean
Default ValueOFF

ndbinfo数据库置于脱机模式,在该模式下,即使 table 和视图实际上不存在,或者在NDB中具有不同的定义时也可以打开它们。此类 table(或视图)不返回任何行。

PropertyValue
Command-Line Format--ndbinfo-show-hidden[={OFF|ON}]
System Variablendbinfo_show_hidden
ScopeGlobal, Session
DynamicYes
TypeBoolean
Default ValueOFF

ndbinfo数据库的内部内部 table 是否显示在mysqlClient 端中。默认值为OFF

PropertyValue
Command-Line Format--ndbinfo-table-prefix=name
System Variablendbinfo_table_prefix
ScopeGlobal, Session
DynamicYes
TypeString
Default Valuendb$

命名 ndbinfo 数据库的基 table 时使用的前缀(通常是隐藏的,除非通过设置ndbinfo_show_hidden公开)。这是一个只读变量,其默认值为ndb$。您可以使用--ndbinfo-table-prefix选项启动服务器,但这仅设置变量,而不会更改用于命名隐藏基 table 的实际前缀。前缀本身是在编译时确定的。

PropertyValue
System Variablendbinfo_version
ScopeGlobal
DynamicNo
TypeString
Default Value``

显示正在使用的ndbinfo引擎的版本;只读。

21.3.3.9.3 NDB 群集状态变量

本节提供有关与 NDB Cluster 和NDB存储引擎相关的 MySQL 服务器状态变量的详细信息。有关不是特定于 NDB Cluster 的状态变量,以及有关使用状态变量的一般信息,请参见第 5.1.9 节“服务器状态变量”

MySQL 服务器可以询问NDBCLUSTER存储引擎是否知道具有给定名称的 table。这称为发现。 Handler_discovertable 示使用此机制发现 table 的次数。

在此 Client 端会话中发送到数据节点的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本发送到数据节点的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)发送到数据节点的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中从数据节点接收到的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本从数据节点接收的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)从数据节点接收的数据量(以字节为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

NDB Binlog 注入程序线程接收到的行更改事件数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)接收到的行更改事件数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

NDB 二进制日志注入器线程接收到的除行更改事件以外的事件数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)接收到的除行更改事件以外的事件数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

NDB Binlog 注入程序线程接收到的事件的字节数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)接收到的事件的字节数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

基于或使用主键的此 Client 端会话中的操作数。这包括对 Blobtable 的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本基于或使用主键的操作数。这包括对 Blobtable 的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)基于或使用主键的操作数。这包括对 Blobtable 的操作,隐式解锁操作,自动递增操作以及用户可见的主键操作。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 Client 端会话中已修剪到单个分区的扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本已修剪到单个分区的扫描次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)已修剪到单个分区的扫描次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中已启动的范围扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本已启动的范围扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)已启动的范围扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中已读取的总行数。这包括该 Client 端会话中进行的任何主键,唯一键或扫描操作读取的所有行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本已读取的总行数。这包括任何主键,唯一键或此副本进行的扫描操作读取的所有行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)已读取的总行数。这包括由任何主键,唯一键或此 MySQL 服务器(SQL 节点)进行的扫描操作读取的所有行。

您应该意识到,对于SELECT COUNT(*)查询读取的行,该值可能并不完全准确,这是因为在这种情况下,MySQL 服务器实际上以[table fragment ID]:[number of rows in fragment]的形式读取伪行并对每个片段的行求和 table 中所有片段的数据,以得出所有行的估计计数。 Ndb_api_read_row_count使用此估计值,而不是 table 中的实际行数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中收到的行的批处理数。 1 个批次定义为来自单个片段的 1 组扫描结果。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本接收的行的批次数。 1 个批次定义为来自单个片段的 1 组扫描结果。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)收到的行的批处理数。 1 个批次定义为来自单个片段的 1 组扫描结果。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中已经开始的 table 扫描的数量,包括内部 table 的扫描。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本已启动的 table 扫描数,包括内部 table 的扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)已启动的 table 扫描数,包括内部 table 的扫描数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中中止的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本中止的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)中止的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中关闭的事务数。此值可能大于Ndb_api_trans_commit_count_sessionNdb_api_trans_abort_count_session的总和,因为某些事务可能已回滚。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本关闭的事务数。此值可能大于Ndb_api_trans_commit_count_slaveNdb_api_trans_abort_count_slave的总和,因为某些事务可能已回滚。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)关闭的事务数。此值可能大于Ndb_api_trans_commit_countNdb_api_trans_abort_count的总和,因为某些事务可能已回滚。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中提交的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本提交的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)提交的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中已读取的总行数。这包括该 Client 端会话中进行的任何主键,唯一键或扫描操作读取的所有行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本已读取的总行数。这包括任何主键,唯一键或此副本进行的扫描操作读取的所有行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)已读取的总行数。这包括由任何主键,唯一键或此 MySQL 服务器(SQL 节点)进行的扫描操作读取的所有行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 端会话中启动的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本启动的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)启动的事务数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 Client 端会话中基于或使用唯一键的操作数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本基于或使用唯一键的操作数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)基于或使用唯一键的操作数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 操作执行完成时,线程在此 Client 机会话中被阻止的次数。这包括所有execute()调用以及 Client 端看不到的 Blob 和自动增量操作的隐式执行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 操作执行完成时,此副本阻止线程的次数。这包括所有execute()调用以及 Client 端看不到的 Blob 和自动增量操作的隐式执行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 操作执行完成时,此 MySQL 服务器(SQL 节点)阻塞线程的次数。这包括所有execute()调用以及 Client 端看不到的 Blob 和自动增量操作的隐式执行。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

线程在此 Client 端会话中被阻止 await 基于元数据的 signal 的次数,例如 DDL 请求,新纪元和占用事务记录的预期时间。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本阻塞线程 await 基于元数据的 signal 的次数,例如 DDL 请求,新纪元和占用事务记录的时间。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此 MySQL 服务器(SQL 节点)在 await 基于元数据的 signal(例如 DDL 请求,新纪元和事务记录占用)所 await 的线程被阻塞的次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在此 Client 机会话中 await 来自数据节点的任何类型的 signal 所花费的总时间(以纳秒为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

此副本 await 来自数据节点的任何类型的 signal 所花费的总时间(以纳秒为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

该 MySQL 服务器(SQL 节点)await 来自数据节点的任何类型的 signal 所花费的总时间(以纳秒为单位)。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 基于扫描的 signal(例如,await 来自扫描的更多结果或 await 扫描关闭)时,线程在此 Client 端会话中被阻塞的次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但它仅与当前会话相关,并且不受此mysqld的任何其他 Client 端影响。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 基于扫描的 signal 时,例如在 await 来自扫描的更多结果时,或者在 await 扫描关闭时,此副本阻止线程的次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。如果此 MySQL 服务器不充当副本或不使用 NDBtable,则此值始终为 0.

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

在 await 基于扫描的 signal(例如,await 来自扫描的更多结果或 await 关闭扫描)时,该 MySQL 服务器(SQL 节点)阻塞线程的次数。

尽管可以使用显示 Global 状态显示会话状态读取此变量,但实际上它是作用域中的全局变量。

有关更多信息,请参见第 21.5.13 节“ NDB API 统计信息计数器和变量”

如果服务器充当 NDB 群集节点,则此变量的值是群集中的节点 ID。

如果服务器不属于 NDB 群集,则此变量的值为 0.

如果服务器是 NDB 群集的一部分,则此变量的值是从中获取其配置数据的群集 Management 服务器的主机名或 IP 地址。

如果服务器不属于 NDB 群集,则此变量的值为空字符串。

如果服务器是 NDB 群集的一部分,则此变量的值是服务器连接到群集 Management 服务器所通过的端口号,服务器从该端口获取配置数据。

如果服务器不属于 NDB 群集,则此变量的值为 0.

显示自上次启动此mysqld以来由于使用NDB$MAX_DELETE_WIN()解决 NDB 群集复制冲突而在当前 SQL 节点上拒绝行的次数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,此变量显示自上次启动此_以来,由于“最大时间戳获胜”冲突解决方案而未将行应用于当前 SQL 节点的次数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,由于给定mysqld上的“相同的时间戳赢得”冲突解决方案而未应用行的次数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,在给定的mysqld上使用NDB$EPOCH()冲突解决方案发现冲突的行数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

显示自上次重新启动以来在指定为主要资源的源上使用NDB$EPOCH2()时,在 NDB 群集复制冲突解决方案中发现冲突的行数。

有关更多信息,请参见NDB$EPOCH2()

在 NDB 群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,在给定的mysqld上使用NDB$EPOCH_TRANS()冲突解决方案发现冲突的行数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,此变量显示自上次重新启动以来,在给定的mysqld上使用NDB$EPOCH_TRANS2()冲突解决方案发现冲突的行数。

有关更多信息,请参见NDB$EPOCH2_TRANS()

在此副本上检测到冲突的最新纪元。您可以将此值与Ndb_slave_max_replicated_epoch进行比较;如果Ndb_slave_max_replicated_epoch大于Ndb_conflict_last_conflict_epoch,则尚未检测到冲突。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

使用 NDB 群集复制冲突解决方案时,这是由于在执行过程中遇到错误而未应用到辅助数据库的反射操作数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制中使用冲突解决时,此状态变量包含已定义(即准备在辅助数据库上执行)的反射操作数。

See 第 21.6.11 节“ NDB 群集复制冲突解决”.

在 NDB 群集复制中使用冲突解决时,这将提供准备在辅助数据库上执行的刷新操作的数量。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

事务冲突功能发现存在冲突的行数

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

此状态变量用于 NDB 群集复制冲突解决中,显示自上次重新启动以来,事务冲突函数在给定的mysqld上发现直接冲突的行数。

当前,NDB Cluster 支持的唯一事务冲突检测功能是 NDB $ EPOCH_TRANS(),因此此状态变量实际上与Ndb_conflict_fn_epoch_trans相同。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,此状态变量显示由于事务冲突检测功能确定为冲突而导致重新对齐的总行数。这不仅包括Ndb_conflict_trans_row_conflict_count,还包括冲突事务中或依赖冲突事务的任何行。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

此状态变量在 NDB 群集复制冲突解决中使用,显示通过事务冲突检测功能发现冲突的事务数。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决中使用,它显示提交纪元事务所需的内部迭代数。应该(略)大于或等于Ndb_conflict_trans_conflict_commit_count

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

在 NDB 群集复制冲突解决方案中使用时,它显示需要事务冲突处理后提交的纪元事务的数量。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

当使用删除/删除冲突检测时,这是检测到的删除-删除冲突的数量,在其中应用了删除操作,但指示的行不存在。

提供操作进行的到NDB内核的往返次数。

NDB最近提交的纪元。

NDBClient 端最近提交的纪元。

如果服务器是 NDB 群集的一部分,则此变量的值为群集中数据节点的数量。

如果服务器不属于 NDB 群集,则此变量的值为 0.

向下推到 NDB 内核以在数据节点上进行分布式处理的联接总数。

Note

使用EXPLAIN进行测试且可以下推的联接有助于此数字。

向下推送到 NDB 内核但在那里无法处理的联接数。

成功将连接数降低到NDB并在那里执行。

通过按下的连接从 NDB 内核返回到mysqld的行数。

Note

在可以向下推到NDB的联接上执行EXPLAIN不会添加到该数字中。

自从 NDB 群集上次启动NDBCLUSTER可以使用分区修剪的 NDB 群集以来,此变量保存了NDBCLUSTER执行的扫描次数。

将此变量与Ndb_scan_count一起使用可能有助于架构设计,以最大程度地提高服务器将扫描修剪到单个 table 分区的能力,从而仅涉及单个数据节点。

自上次启动 NDB 群集以来,此变量保存NDBCLUSTER执行的扫描总数。

此副本上最近提交的时期。您可以将此值与Ndb_conflict_last_conflict_epoch进行比较;如果Ndb_slave_max_replicated_epoch是两者中的较大者,则尚未检测到冲突。

有关更多信息,请参见第 21.6.11 节“ NDB 群集复制冲突解决”

如果此 MySQL 服务器已连接到 NDB 群集,则此只读变量将显示群集系统名称。否则,该值为空字符串。