• 如何查看表和索引的统计信息


      这几天要求做一个服务器的统计信息,主要针对表和索引。下面我就简单分享几个查询数据表和索引统计信息的方法:

    1.使用T-SQL 语句实现:

    select schema_name(t.schema_id) AS '架构', 
           t.name                   AS '表名称',
           i.rows                   AS '行数',
           8 * reserved             AS '保留空间(KB)',
           8 * dpages               AS '已使用的(KB)',
           8 * ( reserved - dpages )AS '未使用的(KB)'
    from sys.tables as t, sysindexes as i
    
    where t.object_id = i.id and i.indid <=1
    
    --可选择不同的表单独查询  AND  t.name='CTTextData'

    执行结果如图

     

    这种方法的优点如下:

    • 运行速度快。
    • 由于不访问用户表,不会影响性能,不加锁。
    • 灵活组合,也可以与其他语句联合查询金结果。

    2. 使用系统存储过程sp_spaceused

    exec sp_spaceused 'CTApplication' --取得表占用空間 

    执行结果如下:

    注意当不加入表名称参数的时候结果为该上下文(USE xxx--库名称)数据库实例的所有表综合信息。

    可以使用Sp_msforeachtable遍历所有当前上下文的表

    如下:

    需要注意的是当使用sp_spaceused时,如果架构为dbo,则可以不输入架构,否则必须输入自己的架构名称。

    3.使用系统报表

    使用流程如图,右键数据库实例,然后依次点击 reports standard reports Disk Usage by Top Tables

    最终显示:

    图中展示了所需要的一些信息,其中每个信息都可以按照正序和倒叙排序,单位是KB。

    同时右键这个窗口内,有修改页面布局、导出(ExcelWordPDF)、打印等功能。

    这种方式有如下优点:

    • 可视化界面操作容易。
    • 不需要代码书写。
    • 可以直接导出打印。

    总结:

          本文简单介绍了几种查询数据库表的磁盘和索引的统计情况。在平时的工作中会经常用到这个功能,因为要看一下查询表的压力,索引占比,已经各个表的使用空间情况,对于表的设计,索引的使用等都有很大帮助。希望对大家有所帮助。

  • 相关阅读:
    Python range 函数 Python零基础入门教程
    Python eval 与 exec 函数的区别 Python零基础入门教程
    Python callable 函数 Python零基础入门教程
    Python bytes 函数 Python零基础入门教程
    Python ord 函数 Python零基础入门教程
    Python len函数 Python零基础入门教程
    第十二课 通过URL api拿到接送数据并做页面展示
    第十三课 axios请求数据
    网络编程学习路线计划
    erlang学习笔记本【不断更新】
  • 原文地址:https://www.cnblogs.com/wenBlog/p/5567742.html
Copyright © 2020-2023  润新知