ndb_index_stat提供有关NDB
表索引的每个片段的统计信息。这包括缓存版本和年龄、每个分区的索引条目数以及索引的内存消耗。
用法
要获取有关给定表的基本索引统计信息
NDB
,请调用
ndb_index_stat,如此处所示,将表的名称作为第一个参数,并使用--database
( -d
) 选项紧随其后指定包含此表的数据库的名称:
ndb_index_stat table -d database
在这个例子中,我们使用ndb_index_statNDB
来获取有关数据库中命名表mytable
的此类信息test
:
$> 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
NDBT_ProgramExit: 0 - OK
sampleVersion
是从中获取统计数据的缓存的版本号。使用该
选项运行
ndb_index_stat--update
会导致 sampleVersion 增加。
loadTime
显示上次更新缓存的时间。这表示为自 Unix 纪元以来的秒数。
sampleCount
是每个分区找到的索引条目数。您可以通过将其乘以片段数(显示为
fragCount
)来估算条目总数。
sampleCount
可以与SHOW INDEX
or
的基数进行比较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
NDBT_ProgramExit: 0 - OK
$>
如果程序的唯一输出是
NDBT_ProgramExit: 0 - OK
,这可能表明尚无统计数据存在。要强制创建它们(或更新它们,如果它们已经存在),
请使用该
选项调用ndb_index_stat ,或在mysql客户端的表上执行。
--update
ANALYZE TABLE
选项
下表包括特定于 NDB Cluster ndb_index_stat实用程序的选项。表后列出了其他说明。
表 21.34 与程序 ndb_index_stat 一起使用的命令行选项
格式 | 描述 | 添加、弃用或删除 |
---|---|---|
包含字符集的目录 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
放弃前重试连接的次数 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
尝试联系管理服务器之间等待的秒数 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
与 --ndb-connectstring 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
写入核心文件出错;用于调试 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
包含表的数据库名称 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
读取全局文件后读取给定文件 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
仅从给定文件中读取默认选项 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
还阅读带有 concat(group, suffix) 的组 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
删除表的索引统计信息,停止之前配置的任何自动更新 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
打印查询缓存 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
显示帮助文本并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
从登录文件中读取给定路径 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
设置执行给定命令的次数;默认为 0 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
与 --ndb-connectstring 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
为交易节点的选择启用优化。默认启用;使用 --skip-ndb-optimized-node-selection 禁用 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
不要从登录文件以外的任何选项文件中读取默认选项 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
打印程序参数列表并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
对第一个键属性执行随机范围查询(必须是 int unsigned) | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
删除 NDB 内核中的任何统计表和事件(所有统计信息都将丢失) | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
在 NDB 内核中创建所有统计表和事件,如果它们都不存在的话 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
在 NDB 内核中创建任何尚不存在的统计表和事件 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
在删除任何无效的之后,创建 NDB 内核中尚不存在的任何统计表或事件 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
验证 NDB 系统索引统计信息和事件表是否存在 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
不要将 sys-* 选项应用于表 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
不要将 sys-* 选项应用于事件 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
更新表的索引统计信息,重新启动之前配置的任何自动更新 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
显示帮助文本并退出;与 --help 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
打开详细输出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
显示版本信息并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
-
命令行格式 --character-sets-dir=path
包含字符集的目录。
-
命令行格式 --connect-retries=#
类型 整数 默认值 12
最小值 0
最大值 12
放弃前重试连接的次数。
-
命令行格式 --connect-retry-delay=#
类型 整数 默认值 5
最小值 0
最大值 5
尝试联系管理服务器之间等待的秒数。
-
命令行格式 --connect-string=connection_string
类型 细绳 默认值 [none]
与 相同
--ndb-connectstring
。 -
命令行格式 --core-file
写入核心文件出错;在调试中使用。
-
命令行格式 --database=name
类型 细绳 默认值 [none]
最小值 最大值 包含要查询的表的数据库的名称。
-
命令行格式 --defaults-extra-file=path
类型 细绳 默认值 [none]
读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path
类型 细绳 默认值 [none]
仅从给定文件中读取默认选项。
-
命令行格式 --defaults-group-suffix=string
类型 细绳 默认值 [none]
还可以阅读带有 concat(group, suffix) 的组。
-
命令行格式 --delete
删除给定表的索引统计信息,停止之前配置的任何自动更新。
-
命令行格式 --dump
转储查询缓存的内容。
-
命令行格式 --help
显示帮助文本并退出。
-
命令行格式 --login-path=path
类型 细绳 默认值 [none]
从登录文件中读取给定路径。
-
命令行格式 --loops=#
类型 数字 默认值 0
最小值 0
最大值 MAX_INT
重复此命令次数(用于测试)。
-
命令行格式 --ndb-connectstring=connection_string
类型 细绳 默认值 [none]
设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。
-
命令行格式 --ndb-mgmd-host=connection_string
类型 细绳 默认值 [none]
与 相同
--ndb-connectstring
。 -
命令行格式 --ndb-nodeid=#
类型 整数 默认值 [none]
为此节点设置节点 ID,覆盖由 设置的任何 ID
--ndb-connectstring
。 --ndb-optimized-node-selection
命令行格式 --ndb-optimized-node-selection
为交易节点的选择启用优化。默认启用;用于
--skip-ndb-optimized-node-selection
禁用。-
命令行格式 --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 系统选项)。