文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  ndb_index_stat — NDB 索引统计实用程序

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

ndb_index_stat 提供有关 NDB 表上索引的每个分片统计信息。这包括缓存版本和时间、每个分区的索引条目数以及索引的内存消耗。

用法

要获取有关给定 NDB 表的基本索引统计信息,请按如下所示调用 ndb_index_stat,其中表名作为第一个参数,包含此表的数据库的名称紧随其后,使用 --database (-d) 选项

ndb_index_stat table -d database

在此示例中,我们使用 ndb_index_stat 获取有关 test 数据库中名为 mytableNDB 表的此类信息

$> 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)来估计条目总数。

可以将 sampleCountSHOW INDEXINFORMATION_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

    命令行格式 --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
    类型 字符串
    默认值 [无]

    --ndb-connectstring 相同。

  • --core-file

    命令行格式 --core-file

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

  • --database=name, -d name

    命令行格式 --database=name
    类型 字符串
    默认值 [无]
    最小值
    最大值

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

  • --defaults-extra-file

    命令行格式 --defaults-extra-file=path
    类型 字符串
    默认值 [无]

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

  • --defaults-file

    命令行格式 --defaults-file=path
    类型 字符串
    默认值 [无]

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

  • --defaults-group-suffix

    命令行格式 --defaults-group-suffix=string
    类型 字符串
    默认值 [无]

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

  • --delete

    命令行格式 --delete

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

  • --dump

    命令行格式 --dump

    转储查询缓存的内容。

  • --help

    命令行格式 --help

    显示帮助文本并退出。

  • --login-path

    命令行格式 --login-path=path
    类型 字符串
    默认值 [无]

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

  • --no-login-paths

    命令行格式 --no-login-paths

    跳过从登录路径文件读取选项。

  • --loops=#

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

    重复执行命令的次数(用于测试)。

  • --ndb-connectstring

    命令行格式 --ndb-connectstring=connection_string
    类型 字符串
    默认值 [无]

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

  • --ndb-mgm-tls

    命令行格式 --ndb-mgm-tls=level
    类型 枚举
    默认值 relaxed
    有效值

    relaxed

    strict

    设置连接到管理服务器所需的 TLS 支持级别;relaxedstrict 之一。relaxed(默认)表示尝试 TLS 连接,但不要求成功;strict 表示需要 TLS 才能连接。

  • --ndb-mgmd-host

    命令行格式 --ndb-mgmd-host=connection_string
    类型 字符串
    默认值 [无]

    --ndb-connectstring 相同。

  • --ndb-nodeid

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

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

  • --ndb-optimized-node-selection

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

    启用针对事务的节点选择优化。默认情况下启用;使用 --skip-ndb-optimized-node-selection 禁用。

  • --ndb-tls-search-path

    命令行格式 --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

    命令行格式 --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 系统选项)。