如何查看表和索引的統計信息


 

  這幾天要求做一個服務器的統計信息,主要針對表和索引。下面我就簡單分享幾個查詢數據表和索引統計信息的方法:

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。

同時右鍵這個窗口內,有修改頁面布局、導出(Excel\Word\PDF)、打印等功能。

這種方式有如下優點:

  • 可視化界面操作容易。
  • 不需要代碼書寫。
  • 可以直接導出打印。

總結:

      本文簡單介紹了幾種查詢數據庫表的磁盤和索引的統計情況。在平時的工作中會經常用到這個功能,因為要看一下查詢表的壓力,索引占比,已經各個表的使用空間情況,對於表的設計,索引的使用等都有很大幫助。希望對大家有所幫助。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM