1. 程式人生 > >如何查看錶和索引的統計資訊

如何查看錶和索引的統計資訊

  這幾天要求做一個伺服器的統計資訊,主要針對表和索引。下面我就簡單分享幾個查詢資料表和索引統計資訊的方法:

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)、列印等功能。

這種方式有如下優點:

  • 視覺化介面操作容易。
  • 不需要程式碼書寫。
  • 可以直接匯出列印。

總結:

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

相關推薦

如何索引統計資訊

  這幾天要求做一個伺服器的統計資訊,主要針對表和索引。下面我就簡單分享幾個查詢資料表和索引統計資訊的方法: 1.使用T-SQL 語句實現: select schema_name(t.schema_id) AS '架構', t.name AS

oracle資料庫表字段的語句

1.檢視當前使用者的表  select * from user_tables tt where tt.TABLE_NAME=upper('表名稱'); 2.查看錶對應的欄位  select * from user_tab_columns t3 where t3.T

mysql結構資訊需求背景是給一個表名然後給出相應的表結構資訊索引資訊 常用的命令有如下: 1. desc tableName; desc employees.employees; 2. sh

需求背景是給一個表名然後給出相應的表結構資訊及索引資訊 常用的命令有如下: 1. desc tableName; desc employees.employees; 2. show columns from tableName; show COLUMNS from employees.employe

mysql命令列結構,欄位等資訊 TRUNCATE TABLE

mysql查看錶結構命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schema select * from columns where tab

postgresql索引的情況,判斷是否膨脹

索引膨脹的幾個來源: 1 大量刪除發生後,導致索引頁面稀疏,降低了索引使用效率。 2 PostgresQL 9.0之前的版本,vacuum full 會同樣導致索引頁面稀疏。 3 長時間執行的事務,禁止vacuum對錶的清理工作,因而導致頁面稀疏狀態一直保持。 檢視重複索

mysql結構資訊

需求背景是給一個表名然後給出相應的表結構資訊及索引資訊 常用的命令有如下: 1. desc tableName; desc employees.employees; 2. show columns from tableName; show COLUMNS from employees.employe

空間表的使用率

1.   查看錶空間使用率 --查詢表空間的總容量 select tablespace_name,sum(bytes) /1024/1024 as MB from dba_data_files group by tablespace_name;  

oracle 資訊命令

表註釋和欄位註釋 --表 註釋 select * from all_tab_comments where table_name= upper('table_name') ; --欄位註釋 select * from all_col_comment

【Linux】mysql命令列結構,欄位等資訊

mysql查看錶結構命令,如下: desc table_name; //查表的欄位資訊(不包含欄位內容) show columns from table_name; //同上 show create table table_name; //查表字段資訊和字符集資訊

MySQL結構語句結構的兩種方法

http://blog.csdn.net/number1killer/article/details/77841565 http://blog.csdn.net/number1killer/article/details/77878047 http:/

mysql結構查詢註釋

//查詢表結構select t.column_name,t.column_comment,t.column_type,case t.column_key when 'pri' then 'yes' else 'no' end,t.is_nullable,t.column_co

django mysql 的連線 MySQL 結構簡單命令

現在資料庫裡先建庫save CREATE DATABASE save; use save; 再建表 create table money import pymysql # 連線資料庫 connect = pymysql.Connect( host='loca

中是否存在索引索引在哪幾列

 select * from USER_INDEXES  where table_name ='大寫的表明 查詢到索引名稱' select * from user_ind_columns where index_name='索引名稱' column_name 表示列名

GPDB分佈策略資訊

Goal Is to provide a simple shell scripts to help administrator identify the distribution policy of the tables in the database. Note :Please verify the sc

mysql命令列結構,欄位等資訊

mysql查看錶結構命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schema select * from columns where tab

sqlserver 解決表鎖問題

 select   request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName        from   sys.dm_tran_locks where resource_type='OBJECT'     

mysql索引

檢視索引mysql> show index from tblname;mysql> show keys from tblname;· Table表的名稱。· Non_unique如果索引不能包括重複詞,則為0。如果可以,則為1。· Key_name索引的名稱。·

hive表資訊查詢:結構、表操作、建表語句

問題導讀: 1.如何檢視hive表結構? 2.如何查看錶結構資訊? 3.如何檢視分割槽資訊?4.哪個命令可以模糊搜尋表 28.怎麼查詢建立表語句 1.hive模糊搜尋表   show tables like '*name*'; 2.查看錶結構資訊   desc forma

Oracle中欄位註釋的方法

select * from user_tab_commentsuser_tab_comments:table_name,table_type,comments相應的還有dba_tab_comments,all_tab_comments,這兩個比user_tab_comments多了ower列。獲取欄位註釋:s

oracle空間剩餘修改表空間大小

select  b.file_id 檔案ID號,  b.tablespace_name 表空間名,  b.bytes/1024/1024||'M'位元組數,  (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用,  sum(nv