zoukankan      html  css  js  c++  java
  • Sql Server 2005 统计信息用途

       1, 什么是统计信息 

        以下是官方的对统计信息的描述:

         按照默认设置,如果表中的某列没有索引,则SQL Server会自动为该列创建统计。然后,查询优化器评估该列中数据分布范围的统计信息,以选择一个更为有效的查询处理方案。分辨自动创建的统计很简单,在SQL Server 7.0SQL Server 2000中,自动创建的统计的前缀为_WA_Sys

     

      个人感想:  

        以前对_WA_Sys开头的统计信息一直不知道有什么用,在学习了oracle时的CBO和三个算法(嵌套循环,合并连接和hash连接)才发现这个_WA_Sys开头的统计信息和索引的统计信息对我们用户没用,对数据库是很重要的。

       2, 统计信息内容:

    dbcc show_statistics('[[zping.com]]]',idx_operator)

       运行上面命令以后,出来下列信息:    

    Name         Updated                        Rows Rows      Sampled    Steps     Density           Average key length    String Index
    idx_operator 
    07 24 2008  8:15PM   721370          721370     200      0.002035875  63.99907               YES

     这里的信息说明:

         name:统计信息的名称。 Updated :上一次更新统计信息的日期和时间   

         Rows :表中的行数。 Rows Sampled :统计信息的抽样行数。

         Steps:分发步骤数(在sql server最多200步)  Average key length :所有索引列的平均长度

       这些信息是对统计信息一个汇总

       还有下列信息:   

    All density     Average Length   Columns
     
    0.004219409   31.99907        operator

        All density :索引列前缀集的选择性(频繁) Average Length :索引列前缀集的平均长度。 Columns:索引列前缀的名称

        还有包括数据统计的直方图信息:

       

       3,  统计信息的作用:

           1,  index建立后,优化器是否使用该index,优化器需要借助一些统计信息来做判断

        2,根据统计信息,预估采用嵌套循环连接,合并连接, 哈希连接等哪一个连接

        3,根据统计信息判断表的估计最佳的成本(最佳的执行顺序),
     

       4, 统计信息自动建立:

          1,建立索引后,就会出现一个同名的统计信息

          2,一个列没有统计信息,这时用他来关联表和查询数据,这时,系统会在评估最佳查询计划前,生成一个该列的"_WA_Sys"的统计信息。

       如下图:这里就包含(索引统计信息和列的统计信息)

      

         统计信息的更新和维护,由于数据的经常改变,统计信息是由sql server 2005自动维护的。可以手工更新统计信息:

      update statistics [[zping.com]]](_WA_Sys_creater_4C02DB92)  with fullscan

         更新表的统计信息,采集表中该列的全部数据。一般建议采用全部数据采集。保证统计信息的正确性

       5,  统计信息的设置

        系统是如何来设置更新和创建统计信息的?

        

       

          原来在创建数据库时,系统自动设置了统计信息的属性。这两个属性一般不要手工改动。    

        

  • 相关阅读:
    【luogu3768】简单的数学题【杜教筛】【欧拉函数】
    【bzoj3589】动态树【树链剖分】【线段树】
    【bzoj4386】[POI2015]Wycieczki【矩阵快速幂】【倍增】
    【bzoj2186】[Sdoi2008]沙拉公主的困惑 【线性筛】【容斥原理】
    【bzoj3884】上帝与集合的正确用法 【欧拉函数】
    【bzoj4417】[Shoi2013]超级跳马 【矩阵快速幂】
    【bzoj3435】【uoj#55】[WC2014]紫荆花之恋 【动态树分治】【平衡树】
    【bzoj3681】Arietta 【网络流】【主席树】【启发式合并】
    【bzoj1532】[POI2005]Kos-Dicing 【网络流】【二分】
    【bzoj1565】[NOI2009]植物大战僵尸 【网络流】【最大权闭合子图】
  • 原文地址:https://www.cnblogs.com/zping/p/1247210.html
Copyright © 2011-2022 走看看