這幾天要求做一個伺服器的統計信息,主要針對錶和索引。下麵我就簡單分享幾個查詢數據表和索引統計信息的方法: 1.使用T-SQL 語句實現: 執行結果如圖 這種方法的優點如下: 運行速度快。 由於不訪問用戶表,不會影響性能,不加鎖。 靈活組合,也可以與其他語句聯合查詢金結果。 2. 使用系統存儲過程sp ...
這幾天要求做一個伺服器的統計信息,主要針對錶和索引。下麵我就簡單分享幾個查詢數據表和索引統計信息的方法:
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)、列印等功能。
這種方式有如下優點:
- 可視化界面操作容易。
- 不需要代碼書寫。
- 可以直接導出列印。
總結:
本文簡單介紹了幾種查詢資料庫表的磁碟和索引的統計情況。在平時的工作中會經常用到這個功能,因為要看一下查詢表的壓力,索引占比,已經各個表的使用空間情況,對於表的設計,索引的使用等都有很大幫助。希望對大家有所幫助。