zoukankan      html  css  js  c++  java
  • Update Statistics用法

    Update Statistics语句的作用将创建的数据库表的有关统计信息更新到系统 sysmater的相关表中,以便查询优化器选择最佳的执行路径,当sysmaster库中没有相应的统计信息,或者统计不准确时,优化器会进行大量的顺序扫描,产生严重的性能问题

    因此如果重新装载数据或者对表进行大量的更新操作后,及时使用 Update statistics
    分三个级别:
    update statistics low:
    只更新表 字段 记录数 页数 和索引等基本信息 对字段的分布情况不做统计

    语法说明:
    (1)update statistics或update statisticslow,对当前数据库中所有表(包括系统表)及过程进行更新统计。
      (2)update statistics low for table,对当前数据库中所有表(包括临时表,但不包括系统表)进行更新统计。
      (3)update statistics low for table tablename,对指定的表所有字段进行更新统计。
      (4)update statistics low for table tablename(column-list),对指定表的指定字段进行更新统计。
      (5)如果不带drop distributions,原有字段分布情况依然保留;否则,原有字段分布情况将被删除。

    updates tatistics medium:
    除了更新表 字段记录数 页数 索引等基本信息,对字段的分布情况会采取抽样的方法来统计,与Update statistics相关会花费更多时间

    update statistics high:
    除了更新表 字段记录数 页数 索引等基本信息,对字段的分布情况会采取全部统计的方法

    如何执行Update Statistics
      通常执行update statistics的方法是:
      
      1 对表中不带索引的字段执行update statistics medium,每个表执行一次。一般情况下,缺省参数就足够了。对于特别大的表(执行update statistics时,通常把超过26570条记录的表定义为特别大的表),可以带参数resolution1.00.99。
      2 对表中带有索引的字段执行update statistics high,每个字段执行一次。
      3 对表中带有复合索引的字段执行update statistics low,每个表执行一次。
      4 对每一个小表执行update statistic shigh。
    注意事项:

    1 数据库本身不会自动更新sysmaster库中有关statistics统计信息,只有执行update statistics语句后,才能得到更新。
      2 执行update statistics语句时,必须具有DBA权限或者为表的属主。
      3 由于update statistics通常为单线程运行,不能利用PDQ等并发功能,对于一个较大的数据库,执行update statistics语句一般需要几个小时。为提高效率,可以将update statistics分为多个shell程序同时执行,并充分考虑数据空间分布情况,在并发执行时减少磁盘读写的冲突。
      4 执行update statistics语句会占用一些临时空间,当临时空间不够时,数据库将提示错误。您可以通过设置DBUPSPACE环境变量,使update statistics在遇到临时空间不够时分步来执行排序统计。

  • 相关阅读:
    SuperMap-iServer-单点登录功能验证(CAS)
    Oracle数据库的链接数目超标
    转载---javascript 定时器总结
    JMeter使用文档
    转载--改变ubuntu默认编码为GBK
    遥感数据下载
    Supermap iCloudManager -负载均衡
    XCode: 如何添加自定义代码片段
    imageNamed和dataWithContentsOfFile的区别(1)
    imageNamed 与 imageWithContentsOfFile的区别
  • 原文地址:https://www.cnblogs.com/niuzaihenmang/p/5600055.html
Copyright © 2011-2022 走看看