南大通用GBase8s 常用SQL语句(295)

自动化表统计信息维护

要简化 DBA 在维护当前的表统计信息中复杂的和重复的任务(查询优化器可从其设计高效的查询计划) GBase 8s 提供表统计信息维护系统,称为“自动更新统计信息”(AUS)。这可自动化对其统计信息陈旧的表的标识,并可自动化相应的 UPDATE STATISTICS 语句的构造和执行,以重新计算它们的列分发。当应该更新表统计信息时,以内建的准则提供 AUS 系统,但 DBA 可修改这些准则来反映当前的需要和工作负荷。

要获取更多信息,请参阅 GBase 8s 性能指南 中对“自动更新统计信息”维护系统的描述。另请参阅 GBase 8s 管理员指南 中对 Scheduler 的描述,DBA 可用于指定 AUS 系统以其重新计算表统计信息的政策、资源和频率。

在 GBase OpenAdmin Tool (OAT) for GBase 8s 中也可都得到对表统计信息的 AUS 维护系统。请参考 OAT 在线帮助,以获取关于如何配置 AUS 维护系统来自动地提供当前表的统计信息的详细信息。

使用 FOR TABLE ONLY 关键字

使用 FOR TABLE ONLY 关键字来为 typed 表的层级之内单个表收集数据。当指定的 table 有子表时,如果您没有紧跟在 FOR TABLE 之后包括 ONLY 关键字,则 GBase 8s 为那个表以及为层级中它之下的每个子表创建分发。

例如,假设您的数据库有出现在 图 1 中的 typed 表层级, 展示名为 employee 的超级表有名为 sales_rep 的子表。反过来,sales_rep 表有名为 us_sales_rep 的子表。

图: typed 表层级的示例

当执行下列语句时,数据库服务器生成关于 sales_rep 和 us_sales_rep 表的统计信息:

UPDATE STATISTICS FOR TABLE sales_rep;

相反,下列示例为 sales_rep 中的每一列生成统计数据,但不处理表 employee 或 us_sales_rep:

UPDATE STATISTICS FOR TABLE ONLY (sales_rep);

如果你像在此示例中那样指定 FOR TABLE ONLY,则必须将表的标识符(或 owner.table)括在圆括号之间。

由于前面的示例都未指定更新统计数据的级别,因此在缺省情况下,数据库服务器使用 LOW 模式。

更新列的统计信息

Table 和 Column Scope 规范还可包括一个或多个您想要为其计算统计分发的列的名称。

在下列示例中,此语句计算 orders 表的三列的分发:

UPDATE STATISTICS FOR TABLE orders (order_num, customer_num, ship_date);

如果您在 FOR TABLE 子句中未包括 column 名称,则使用 LOW、MEDIUM 或 HIGH 模式为指定的 table 的所有列计算分发,通过您请求的指定的或缺省的 Resolution 子句 percentage(对于 MEDIUM 或 HIGH 模式)表明 bin 的数目。

要了解对存储 UDT 的列上的 UPDATE STATISTICS 限制,另请参阅 更新用户定义的类型的列的统计信息。

测试索引页

在 GBase 8s 中,当您在任何模式下执行 UPDATE STATISTICS 语句时,数据库服务器通读索引页来:

  1. 为查询优化器计算统计信息
  2. 定位有标记为 1 的删除标记的页

如果找到带有标记为 1 的删除标记的页,则从 B 树清除程序列表移除相应的键。

如果系统失败导致 B 树清除程序列表(存在于共享内存中)丢失,则此操作特别有用。要移除那些已标记为删除了但还未从 B 树移除的 B 树项,请运行 UPDATE STATISTICS 语句。要获取关于 B 树清除程序列表的信息,请参阅您的 GBase 8s 管理员指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值