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 INDEXor
的基数进行比较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客户端的表上执行。
--updateANALYZE 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 系统选项)。