• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndb_index_stat — NDB索引统计实用程序

    ndb_index_stat提供有关NDB表索引的每个片段的统计信息。这包括高速缓存版本和寿命,每个分区的索引条目数以及按索引的内存消耗。

    用法

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

    ndb_index_stat table -d database
    

    在此示例中,我们使用ndb_index_stat获取有关数据库NDB中命名表mytabletest信息:

    shell>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或的基数进行比较INFORMATION_SCHEMA.STATISTICS,尽管后两者提供了整个表的视图,而ndb_index_stat提供了每个片段的平均值。

    keyBytes是索引使用的字节数。在此示例中,主键是一个整数,每个索引需要四个字节,因此keyBytes可以在这种情况下进行计算,如下所示:

        keyBytes = sampleCount * (4 bytes per index) = 1994 * 4 = 7976
    

    也可以从中使用相应的列定义来获取此信息INFORMATION_SCHEMA.COLUMNS(这需要MySQL Server和MySQL客户端应用程序)。

    totalBytes是表上所有索引消耗的总内存,以字节为单位。

    前面示例中显示的时间特定于ndb_index_stat的每次调用。

    --verbose选项提供了一些其他输出,如下所示:

    shell>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
    
    shell>
    

    如果程序的唯一输出是NDBT_ProgramExit: 0 - OK,则可能表明尚无统计信息。要强制创建(或更新它们,如果它们已经存在),使用该--update选项调用ndb_index_stat,或ANALYZE TABLEmysql客户端的表上执行。

    选件

    下表包含特定于NDB群集ndb_index_stat实用程序的选项。下表后列出了其他说明。有关大多数NDB群集程序(包括ndb_index_stat)通用的选项,请参见“ NDB群集程序的通用选项— NDB群集程序的通用选项”。

    ndb_index_stat程序的命令行选项

    格式描述添加,不建议使用或删除

    --database=name

    -d

    包含表的数据库的名称

    (在所有基于MySQL 8.0的版本中受支持)

    --delete

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

    (在所有基于MySQL 8.0的版本中受支持)

    --update

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

    (在所有基于MySQL 8.0的版本中受支持)

    --dump

    打印查询缓存

    (在所有基于MySQL 8.0的版本中受支持)

    --query=#

    在第一个键attr上执行许多随机范围查询(必须为int unsigned)

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-drop

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

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-create

    如果没有统计表和事件,请在NDB内核中创建所有统计表和事件

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-create-if-not-exist

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

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-create-if-not-valid

    创建NDB内核中不存在的任何统计信息表或事件。删除任何无效的

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-check

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

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-skip-tables

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

    (在所有基于MySQL 8.0的版本中受支持)

    --sys-skip-events

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

    (在所有基于MySQL 8.0的版本中受支持)

    --verbose

    -v

    打开详细输出

    (在所有基于MySQL 8.0的版本中受支持)

    --loops=#

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

    (在所有基于MySQL 8.0的版本中受支持)

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

    • --database=name-d name

      属性
      命令行格式--database=name
      类型string
      默认值[none]
      最低值
      最大值

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

    • --delete

      属性
      命令行格式--delete
      类型布尔型
      默认值false
      最低值
      最大值

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

    • --update

      属性
      命令行格式--update
      类型布尔型
      默认值false
      最低值
      最大值

      更新给定表的索引统计信息,然后重新启动以前配置的所有自动更新。

    • --dump

      属性
      命令行格式--dump
      类型布尔型
      默认值false
      最低值
      最大值

      转储查询缓存的内容。

    • --query=#

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

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

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

    • --sys-drop

      属性
      命令行格式--sys-drop
      类型布尔型
      默认值false
      最低值
      最大值

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

    • --sys-create

      属性
      命令行格式--sys-create
      类型布尔型
      默认值false
      最低值
      最大值

      在NDB内核中创建所有统计信息表和事件。仅当以前不存在它们时,此方法才有效。

    • sys-create-if-not-exist

      属性
      命令行格式--sys-create-if-not-exist
      类型布尔型
      默认值false
      最低值
      最大值

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

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

      属性
      命令行格式--sys-create-if-not-valid
      类型布尔型
      默认值false
      最低值
      最大值

      在删除任何无效的NDB系统统计信息表或事件后,请创建它们。

    • --sys-check

      属性
      命令行格式--sys-check
      类型布尔型
      默认值false
      最低值
      最大值

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

    • --sys-skip-tables

      属性
      命令行格式--sys-skip-tables
      类型布尔型
      默认值false
      最低值
      最大值

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

    • --sys-skip-events

      属性
      命令行格式--sys-skip-events
      类型布尔型
      默认值false
      最低值
      最大值

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

    • --verbose

      属性
      命令行格式--verbose
      类型布尔型
      默认值false
      最低值
      最大值

      打开详细输出。

    • --loops=#

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

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