• Informix IDS 11零碎治理(918考试)认证指南,第8局部:面向治理员的SQL特征(6)


    加强的统计信息维护

    什么是 UPDATE STATISTICS?

    要制定优秀的盘问方案,优化器需要获得有关索引和数据分布的信息。当建立新的表或索引时,systemtable 没有提供可用的分布信息。要获得这些信息,必需运转 UPDATE STATISTICSUPDATE STATISTICS 建立并更新分布信息,并利用优化盘问所需的信息更新零碎编目表。它还从新优化存储过程,并在晋级效力器时对索引进行转换。

    UPDATE STATISTICS 的利用范畴

    您可以针对整个数据库、单个表、单个列或一个过程运转 UPDATE STATISTICS

    UPDATE STATISTICS 有三种运转形式:

    • LOW
    • MEDIUM
    • HIGH

    UPDATE STATISTICS LOW

    UPDATE STATISTICS LOW 建立盘问优化所需的最少信息。它将更新 systable 中的表、行和页面数信息,以及 sysindex 和 syscolumn 中的索引和列信息。并不建立分布信息。要是已经存在分布信息,则这些信息不会被重写。要删除现有的分布信息,可利用 DROP DISTRIBUTIONS

    UPDATE STATISTICS MEDIUM

    UPDATE STATISTICS MEDIUM 建立与 low 形式相反的信息,以及一些糊口糊口生计在零碎编目标 sysdistrib 表中的分布动静。分布信息的打定经由议定对一定比例的数据行进行取样完成。

    UPDATE STATISTICS HIGH

    UPDATE STATISTICS HIGH 除建立与 low 形式相反的信息外,还将打定 sysdistrib 每行中糊口糊口生计的分布动静。是以,high 形式打定出的分布信息特殊十分精确。因而实在行速率也远远慢于 low 或 medium 形式。

    RESOLUTION 的感染是什么?

    枢纽字 RESOLUTION 可以使您调整分布 bin 的大小。在 medium 形式中,您还可以利用 RESOLUTION 指定更低的抽样大小鸿沟并调整置信度。

    什么是 DISTRIBUTIONS ONLY?

    利用枢纽字 DISTRIBUTIONS ONLY,您可以避免打定索引信息。而只打定分布信息,这将减速实施 UPDATE STATISTICS 语句的速率。

    什么是 SAMPLING SIZE?

    枢纽字 SAMPLING SIZE 是 Version 11 中的新特征,使您可以在 UPDATE STATISTICS MEDIUM 中设置抽样大小。SAMPLING SIZE 的值糊口糊口生计在 sysdistrib.smlsize 中。进行抽样的现实行数糊口糊口生计在 sysdistrib.rowssmpld 列中。

    清单 12. SAMPLING SIZE 示例

                        
    UPDATE STATISTICS MEDIUM FOR TABLE customer SAMPLING SIZE <number>
    



    表 3. 抽样大小的值和声名
    抽样值 声名
    number <= 1 表现抽样行数所占的百分比。也便是说,0.6 表现对 60% 的行进行抽样来打定分布动静。
    number > 1 表现将进行抽样的行的绝对数目。也便是说,数字 10 表现将对表中的 10 行数据进行抽样来打定分布信息。









    Version 11 中的新刷新

    从 Version 11 开端,CREATE INDEX 可以主动调用 UPDATE STATISTICS。这样做的甜头是,事后为优化器提供所需的分布信息。在 Version 11 之前,要为优化器建立所需的信息,必需在每次建立新索引之后调用 UPDATE STATISTICS

    塞责临时表,不用要利用 UPDATE STATISTICS LOW。每次会晤临时表时,将主动更新数据字典中的条款。安全凡表一样,在为临时表建立索引时将主动生成统计信息。

    利用 SET EXPLAIN 表现盘问方案

    利用 SET EXPLAIN 选项可以表现优化器的盘问方案,以及估量前往的行数目和盘问的绝对成本。

    SET EXPLAIN ON 将启用这个特征并将盘问方案写入到名为 sqexplain.out 的文件中。从 Version 11 开端,您将可以指定应该将输入写入到哪个文件中。您可以利用枢纽字 FILE TO 设定文件的导向。

    清单 13. SET EXPLAIN ON 和 FILE TO 示例

                        
    SET EXPLAIN ON ;
    SET EXPLAIN FILE TO <filename> ;
    				


    利用 AVOID EXECUTE 枢纽字,您无需实施盘问便可打定盘问方案,从而节省光阴。

    清单 14. AVOID EXECUTE 示例

                        
    SET EXPLAIN ON AVOID EXECUTE;
    


    SET EXPLAIN OFF 为默许设置,用来封锁这个特征。



    版权声明: 原创作品,准许转载,转载时请务必以超链接方法标明文章 原始原因 、作者信息和本声明。不然将追究执法责任。

  • 相关阅读:
    Python:软科中国大学排名爬虫(2021.11.5)
    服务外包系统软件需求分析+原型
    JFinal极速开发框架
    Mapreduce实例——MapReduce自定义输入格式
    利用jieba分析词语频数
    Mapreduce实例——Reduce端join
    Mapreduce实例——Map端join
    Mapreduce实例——MapReduce自定义输出格式
    打卡
    Mongo数据库实验
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1972982.html
Copyright © 2020-2023  润新知