续:有关SQL SERVER分布统计的问题(5)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-02 17:50 点击:
  50:   INSERT INTO #TMP(ColStats_Stream, ColRows, ColData_Pages)
  51:   EXEC ('DBCC SHOW_STATISTICS ("' + @Table_Name + '", "'+@Stats_Name+'") WITH STATS_STREAM')
  52:   ;WITH CTE_Temp AS (SELECT TOP (@@RowCount) * FROM #TMP ORDER BY ID DESC)
  53:   UPDATE CTE_Temp
  54:      SET Table_Name = @Table_Name, 
  55:          Column_Name = @Column_Name, 
  56:          Stats_Name = @Stats_Name
  57:   SELECT TOP 1 @i = ROWID, 
  58:          @Table_Name = Table_Name,
  59:          @Column_Name = Column_Name,
  60:          @Stats_Name = Stats_Name
  61:     FROM @Tab
  62:    WHERE ROWID > @I
  63: END
  64: GO
  65: SELECT SUM(DATALENGTH(ColStats_Stream) / 1024.) AS [Size KB]
  66:   FROM #TMP
  67: GO
  68: SELECT Table_Name,
  69:        Column_Name,
  70:        Stats_Name,
  71:        ColStats_Stream,
  72:        DATALENGTH(ColStats_Stream) / 1024. AS [Size KB]
  73:   FROM #TMP
  74:  ORDER BY [Size KB] DESC
 


从Size KB列可以知道每一个统计对象使用的字节数。
 
 
 
 
作者 Yuejun Sun
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行

数据库技术导航

SqlserverMysqlOracleDB2数据库数据库综合
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1