如何查看表和索引的统计信息
?
這幾天要求做一個服務器的統計信息,主要針對表和索引。下面我就簡單分享幾個查詢數據表和索引統計信息的方法:
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 iwhere 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)、打印等功能。
這種方式有如下優點:
- 可視化界面操作容易。
- 不需要代碼書寫。
- 可以直接導出打印。
總結:
????? 本文簡單介紹了幾種查詢數據庫表的磁盤和索引的統計情況。在平時的工作中會經常用到這個功能,因為要看一下查詢表的壓力,索引占比,已經各個表的使用空間情況,對于表的設計,索引的使用等都有很大幫助。希望對大家有所幫助。
?
posted on 2018-01-25 08:36 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/8349436.html
總結
以上是生活随笔為你收集整理的如何查看表和索引的统计信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: github上手实践教程
- 下一篇: Eclipse反编译插件安装