ndb_index_stat 提供有关 NDB
表上索引的每个分片统计信息。这包括缓存版本和时间、每个分区的索引条目数以及索引的内存消耗。
用法
要获取有关给定 NDB
表的基本索引统计信息,请按如下所示调用 ndb_index_stat,其中表名作为第一个参数,包含此表的数据库的名称紧随其后,使用 --database
(-d
) 选项
ndb_index_stat table -d database
在此示例中,我们使用 ndb_index_stat 获取有关 test
数据库中名为 mytable
的 NDB
表的此类信息
$> ndb_index_stat -d test mytable
table:City index:PRIMARY fragCount:2
sampleVersion:3 loadTime:1399585986 sampleCount:1994 keyBytes:7976
query cache: valid:1 sampleCount:1994 totalBytes:27916
times in ms: save: 7.133 sort: 1.974 sort per sample: 0.000
sampleVersion
是从中获取统计数据的缓存的版本号。使用 --update
选项运行 ndb_index_stat 会导致 sampleVersion 增加。
loadTime
显示缓存上次更新的时间。这表示为自 Unix 纪元以来的秒数。
sampleCount
是每个分区找到的索引条目数。您可以通过将其乘以分片数(显示为 fragCount
)来估计条目总数。
可以将 sampleCount
与 SHOW INDEX
或 INFORMATION_SCHEMA.STATISTICS
的基数进行比较,尽管后两者提供整个表的视图,而 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
$>
如果程序的输出为空,这可能表示尚不存在统计信息。要强制创建它们(如果它们已经存在,则更新它们),请使用 --update
选项调用 ndb_index_stat,或在 mysql 客户端中对表执行 ANALYZE TABLE
。
选项
下表列出了 NDB Cluster ndb_index_stat 实用程序特有的选项。其他说明列在表后。
-
命令行格式 --character-sets-dir=path
包含字符集的目录。
-
命令行格式 --connect-retries=#
类型 整数 默认值 12
最小值 0
最大值 12
放弃之前重试连接的次数。
-
命令行格式 --connect-retry-delay=#
类型 整数 默认值 5
最小值 0
最大值 5
尝试联系管理服务器之间等待的秒数。
-
命令行格式 --connect-string=connection_string
类型 字符串 默认值 [无]
与
--ndb-connectstring
相同。 -
命令行格式 --core-file
出错时写入核心文件;用于调试。
--database=
,name
-d
name
命令行格式 --database=name
类型 字符串 默认值 [无]
最小值 最大值 包含要查询的表的数据库的名称。
-
命令行格式 --defaults-extra-file=path
类型 字符串 默认值 [无]
读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path
类型 字符串 默认值 [无]
仅从给定文件读取默认选项。
-
命令行格式 --defaults-group-suffix=string
类型 字符串 默认值 [无]
还读取带有 concat(group, suffix) 的组。
-
命令行格式 --delete
删除给定表的索引统计信息,停止之前配置的任何自动更新。
-
命令行格式 --dump
转储查询缓存的内容。
-
命令行格式 --help
显示帮助文本并退出。
-
命令行格式 --login-path=path
类型 字符串 默认值 [无]
从登录文件读取给定路径。
-
命令行格式 --no-login-paths
跳过从登录路径文件读取选项。
-
命令行格式 --loops=#
类型 数字 默认值 0
最小值 0
最大值 MAX_INT
重复执行命令的次数(用于测试)。
-
命令行格式 --ndb-connectstring=connection_string
类型 字符串 默认值 [无]
设置用于连接到 ndb_mgmd 的连接字符串。语法:
[nodeid=
。覆盖id
;][host=]hostname
[:port
]NDB_CONNECTSTRING
和my.cnf
中的条目。 -
命令行格式 --ndb-mgm-tls=level
类型 枚举 默认值 relaxed
有效值 relaxed
strict
设置连接到管理服务器所需的 TLS 支持级别;
relaxed
或strict
之一。relaxed
(默认)表示尝试 TLS 连接,但不要求成功;strict
表示需要 TLS 才能连接。 -
命令行格式 --ndb-mgmd-host=connection_string
类型 字符串 默认值 [无]
与
--ndb-connectstring
相同。 -
命令行格式 --ndb-nodeid=#
类型 整数 默认值 [无]
设置此节点的节点 ID,覆盖由
--ndb-connectstring
设置的任何 ID。 --ndb-optimized-node-selection
命令行格式 --ndb-optimized-node-selection
启用针对事务的节点选择优化。默认情况下启用;使用
--skip-ndb-optimized-node-selection
禁用。-
命令行格式 --ndb-tls-search-path=list
类型 路径名 默认值(Unix) $HOME/ndb-tls
默认值(Windows) $HOMEDIR/ndb-tls
指定要搜索 CA 文件的目录列表。在 Unix 平台上,目录名用冒号 (
:
) 分隔;在 Windows 系统上,使用分号字符 (;
) 作为分隔符。目录引用可以是相对的,也可以是绝对的;它可能包含一个或多个环境变量,每个环境变量都由一个前缀美元符号 ($
) 表示,并在使用前进行扩展。搜索从最左侧命名的目录开始,并从左到右进行,直到找到文件。空字符串表示空搜索路径,这将导致所有搜索失败。由单个点 (
.
) 组成的字符串表示搜索路径仅限于当前工作目录。如果没有提供搜索路径,则使用编译时默认值。此值取决于使用的平台:在 Windows 上,这是
\ndb-tls
;在其他平台(包括 Linux)上,这是$HOME/ndb-tls
。这可以通过使用-DWITH_NDB_TLS_SEARCH_PATH
编译 NDB 集群来覆盖。 -
命令行格式 --no-defaults
除了登录文件之外,不要从任何选项文件读取默认选项。
-
命令行格式 --print-defaults
打印程序参数列表并退出。
-
命令行格式 --query=#
类型 数字 默认值 0
最小值 0
最大值 MAX_INT
对第一个键属性(必须是 int unsigned)执行随机范围查询。
-
命令行格式 --sys-drop
删除 NDB 内核中的所有统计信息表和事件。 这将导致所有统计信息丢失.
-
命令行格式 --sys-create
在 NDB 内核中创建所有统计信息表和事件。仅当之前不存在任何此类表和事件时,此操作才会成功。
-
命令行格式 --sys-create-if-not-exist
创建调用程序时尚不存在的任何 NDB 系统统计信息表或事件(或两者)。
-
命令行格式 --sys-create-if-not-valid
删除所有无效的 NDB 系统统计信息表或事件后,创建所有尚不存在的表或事件。
-
命令行格式 --sys-check
验证 NDB 内核中是否存在所有必需的系统统计信息表和事件。
-
命令行格式 --sys-skip-tables
不要将任何
--sys-*
选项应用于任何统计信息表。 -
命令行格式 --sys-skip-events
不要将任何
--sys-*
选项应用于任何事件。 -
命令行格式 --update
更新给定表的索引统计信息,并重新启动之前配置的任何自动更新。
-
命令行格式 --usage
显示帮助文本并退出;与
--help
相同。 -
命令行格式 --verbose
开启详细输出。
-
命令行格式 --version
显示版本信息并退出。
ndb_index_stat 系统选项. 以下选项用于生成和更新 NDB 内核中的统计信息表。这些选项都不能与统计信息选项混合使用(请参阅 ndb_index_stat 统计信息选项)。
ndb_index_stat 统计信息选项. 此处列出的选项用于生成索引统计信息。它们适用于给定的表和数据库。它们不能与系统选项混合使用(请参阅 ndb_index_stat 系统选项)。