Documentation Home
MySQL 8.0 参考手册  / 第 23 章 MySQL NDB Cluster 8.0  / 23.5 NDB 集群程序  /  21.5.15 ndb_index_stat — NDB 索引统计实用程序

21.5.15 ndb_index_stat — NDB 索引统计实用程序

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 一起使用的命令行选项

格式 描述 添加、弃用或删除

--character-sets-dir=path

包含字符集的目录

(支持所有基于 MySQL 5.7 的 NDB 版本)

--connect-retries=#

放弃前重试连接的次数

(支持所有基于 MySQL 5.7 的 NDB 版本)

--connect-retry-delay=#

尝试联系管理服务器之间等待的秒数

(支持所有基于 MySQL 5.7 的 NDB 版本)

--connect-string=connection_string,

-c connection_string

与 --ndb-connectstring 相同

(支持所有基于 MySQL 5.7 的 NDB 版本)

--core-file

写入核心文件出错;用于调试

(支持所有基于 MySQL 5.7 的 NDB 版本)

--database=name,

-d name

包含表的数据库名称

(支持所有基于 MySQL 5.7 的 NDB 版本)

--defaults-extra-file=path

读取全局文件后读取给定文件

(支持所有基于 MySQL 5.7 的 NDB 版本)

--defaults-file=path

仅从给定文件中读取默认选项

(支持所有基于 MySQL 5.7 的 NDB 版本)

--defaults-group-suffix=string

还阅读带有 concat(group, suffix) 的组

(支持所有基于 MySQL 5.7 的 NDB 版本)

--delete

删除表的索引统计信息,停止之前配置的任何自动更新

(支持所有基于 MySQL 5.7 的 NDB 版本)

--dump

打印查询缓存

(支持所有基于 MySQL 5.7 的 NDB 版本)

--help,

-?

显示帮助文本并退出

(支持所有基于 MySQL 5.7 的 NDB 版本)

--login-path=path

从登录文件中读取给定路径

(支持所有基于 MySQL 5.7 的 NDB 版本)

--loops=#

设置执行给定命令的次数;默认为 0

(支持所有基于 MySQL 5.7 的 NDB 版本)

--ndb-connectstring=connection_string,

-c connection_string

设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目

(支持所有基于 MySQL 5.7 的 NDB 版本)

--ndb-mgmd-host=connection_string,

-c connection_string

与 --ndb-connectstring 相同

(支持所有基于 MySQL 5.7 的 NDB 版本)

--ndb-nodeid=#

为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID

(支持所有基于 MySQL 5.7 的 NDB 版本)

--ndb-optimized-node-selection

为交易节点的选择启用优化。默认启用;使用 --skip-ndb-optimized-node-selection 禁用

(支持所有基于 MySQL 5.7 的 NDB 版本)

--no-defaults

不要从登录文件以外的任何选项文件中读取默认选项

(支持所有基于 MySQL 5.7 的 NDB 版本)

--print-defaults

打印程序参数列表并退出

(支持所有基于 MySQL 5.7 的 NDB 版本)

--query=#

对第一个键属性执行随机范围查询(必须是 int unsigned)

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-drop

删除 NDB 内核中的任何统计表和事件(所有统计信息都将丢失)

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-create

在 NDB 内核中创建所有统计表和事件,如果它们都不存在的话

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-create-if-not-exist

在 NDB 内核中创建任何尚不存在的统计表和事件

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-create-if-not-valid

在删除任何无效的之后,创建 NDB 内核中尚不存在的任何统计表或事件

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-check

验证 NDB 系统索引统计信息和事件表是否存在

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-skip-tables

不要将 sys-* 选项应用于表

(支持所有基于 MySQL 5.7 的 NDB 版本)

--sys-skip-events

不要将 sys-* 选项应用于事件

(支持所有基于 MySQL 5.7 的 NDB 版本)

--update

更新表的索引统计信息,重新启动之前配置的任何自动更新

(支持所有基于 MySQL 5.7 的 NDB 版本)

--usage,

-?

显示帮助文本并退出;与 --help 相同

(支持所有基于 MySQL 5.7 的 NDB 版本)

--verbose,

-v

打开详细输出

(支持所有基于 MySQL 5.7 的 NDB 版本)

--version,

-V

显示版本信息并退出

(支持所有基于 MySQL 5.7 的 NDB 版本)


  • --character-sets-dir

    命令行格式 --character-sets-dir=path

    包含字符集的目录。

  • --connect-retries

    命令行格式 --connect-retries=#
    类型 整数
    默认值 12
    最小值 0
    最大值 12

    放弃前重试连接的次数。

  • --connect-retry-delay

    命令行格式 --connect-retry-delay=#
    类型 整数
    默认值 5
    最小值 0
    最大值 5

    尝试联系管理服务器之间等待的秒数。

  • --connect-string

    命令行格式 --connect-string=connection_string
    类型 细绳
    默认值 [none]

    与 相同 --ndb-connectstring

  • --core-file

    命令行格式 --core-file

    写入核心文件出错;在调试中使用。

  • --database=name, -d name

    命令行格式 --database=name
    类型 细绳
    默认值 [none]
    最小值
    最大值

    包含要查询的表的数据库的名称。

  • --defaults-extra-file

    命令行格式 --defaults-extra-file=path
    类型 细绳
    默认值 [none]

    读取全局文件后读取给定文件。

  • --defaults-file

    命令行格式 --defaults-file=path
    类型 细绳
    默认值 [none]

    仅从给定文件中读取默认选项。

  • --defaults-group-suffix

    命令行格式 --defaults-group-suffix=string
    类型 细绳
    默认值 [none]

    还可以阅读带有 concat(group, suffix) 的组。

  • --delete

    命令行格式 --delete

    删除给定表的索引统计信息,停止之前配置的任何自动更新。

  • --dump

    命令行格式 --dump

    转储查询缓存的内容。

  • --help

    命令行格式 --help

    显示帮助文本并退出。

  • --login-path

    命令行格式 --login-path=path
    类型 细绳
    默认值 [none]

    从登录文件中读取给定路径。

  • --loops=#

    命令行格式 --loops=#
    类型 数字
    默认值 0
    最小值 0
    最大值 MAX_INT

    重复此命令次数(用于测试)。

  • --ndb-connectstring

    命令行格式 --ndb-connectstring=connection_string
    类型 细绳
    默认值 [none]

    设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。

  • --ndb-mgmd-host

    命令行格式 --ndb-mgmd-host=connection_string
    类型 细绳
    默认值 [none]

    与 相同 --ndb-connectstring

  • --ndb-nodeid

    命令行格式 --ndb-nodeid=#
    类型 整数
    默认值 [none]

    为此节点设置节点 ID,覆盖由 设置的任何 ID --ndb-connectstring

  • --ndb-optimized-node-selection

    命令行格式 --ndb-optimized-node-selection

    为交易节点的选择启用优化。默认启用;用于 --skip-ndb-optimized-node-selection禁用。

  • --no-defaults

    命令行格式 --no-defaults

    不要从登录文件以外的任何选项文件中读取默认选项。

  • --print-defaults

    命令行格式 --print-defaults

    打印程序参数列表并退出。

  • --query=#

    命令行格式 --query=#
    类型 数字
    默认值 0
    最小值 0
    最大值 MAX_INT

    对第一个键属性执行随机范围查询(必须是 int unsigned)。

  • --sys-drop

    命令行格式 --sys-drop

    删除 NDB 内核中的所有统计表和事件。 这会导致所有统计信息丢失

  • --sys-create

    命令行格式 --sys-create

    在 NDB 内核中创建所有统计表和事件。仅当它们以前都不存在时才有效。

  • --sys-create-if-not-exist

    命令行格式 --sys-create-if-not-exist

    创建调用程序时尚不存在的任何 NDB 系统统计表或事件(或两者)。

  • --sys-create-if-not-valid

    命令行格式 --sys-create-if-not-valid

    在删除任何无效的之后,创建任何尚不存在的 NDB 系统统计表或事件。

  • --sys-check

    命令行格式 --sys-check

    验证 NDB 内核中是否存在所有必需的系统统计表和事件。

  • --sys-skip-tables

    命令行格式 --sys-skip-tables

    不要将任何--sys-*选项应用于任何统计表。

  • --sys-skip-events

    命令行格式 --sys-skip-events

    不要将任何--sys-*选项应用于任何事件。

  • --update

    命令行格式 --update

    更新给定表的索引统计信息,并重新启动之前配置的任何自动更新。

  • --usage

    命令行格式 --usage

    显示帮助文本并退出;一样 --help

  • --verbose

    命令行格式 --verbose

    打开详细输出。

  • --version

    命令行格式 --version

    显示版本信息并退出。

ndb_index_stat 系统选项。  以下选项用于生成和更新 NDB 内核中的统计表。这些选项都不能与统计选项混合使用(请参阅 ndb_index_stat 统计选项)。

ndb_index_stat 统计选项。  此处列出的选项用于生成索引统计信息。他们使用给定的表和数据库。它们不能与系统选项混合使用(请参阅 ndb_index_stat 系统选项)。