Share via


sp_statistics (Transact-SQL)

傳回指定資料表或索引檢視的所有索引和統計資料的清單。

主題連結圖示Transact-SQL 語法慣例

語法

sp_statistics [ @table_name = ] 'table_name'  
          [ , [ @table_owner = ] 'owner' ] 
     [ , [ @table_qualifier = ] 'qualifier' ] 
          [ , [ @index_name = ] 'index_name' ] 
     [ , [ @is_unique = ] 'is_unique' ]
     [ , [ @accuracy = ] 'accuracy' ]

引數

  • [ @table_name= ] 'table_name'
    指定用來傳回目錄資訊的資料表。table_name 是 sysname,沒有預設值。不支援萬用字元的模式比對。

  • [ @table_owner= ] 'owner'
    這是用來傳回目錄資訊之資料表的資料表擁有者名稱。table_owner 是 sysname,預設值是 NULL。不支援萬用字元的模式比對。如果未指定 owner,就會套用基礎 DBMS 的預設資料表可見性規則。

    在 SQL Server 中,如果目前使用者擁有一份含指定名稱的資料表,就會傳回這份資料表的索引。如果未指定 owner,且目前使用者並未擁有指定 name 的資料表,這個程序就會查看資料庫擁有者所擁有之指定 name 的資料表。如果資料表存在,就會傳回這份資料表的索引。

  • [ @table_qualifier= ] 'qualifier'
    這是資料表限定詞的名稱。qualifier 是 sysname,預設值是 NULL。各種 DBMS 產品都支援三部分的資料表命名 (qualifier**.owner.**name)。在 SQL Server 中,這個參數代表資料庫名稱。在某些產品中,它代表資料表之資料庫環境的伺服器名稱。

  • [ @index_name= ] 'index_name'
    這是索引名稱。index_name 是 sysname,預設值是 %。支援萬用字元的模式比對。

  • [ @is_unique= ] 'is_unique'
    這是指是否要傳回唯一索引 (如果是 Y 的話)。is_unique 是 char(1),預設值是 N

  • [ @accuracy= ] 'accuracy'
    這是統計資料基數和頁面精確度的層級。accuracy 是 char(1),預設值是 Q。請指定 E,以確定會更新統計資料,基數和頁面都精確。

    E (SQL_ENSURE) 會要求驅動程式無條件地擷取統計資料。

    Q (SQL_QUICK) 會要求驅動程式只在伺服器可以提供基數和頁面情況下,才擷取這些資訊。在這個情況下,驅動程式無法確保這些值是否為最新的。撰寫成 Open Group 標準的應用程式,永遠會透過 ODBC 3.x 相容的驅動程式取得 SQL_QUICK 行為。

結果集

資料行名稱

資料類型

描述

TABLE_QUALIFIER

sysname

資料表限定詞名稱。這個資料行可以是 NULL。

TABLE_OWNER

sysname

資料表擁有者名稱。這個資料行一律會傳回值。

TABLE_NAME

sysname

資料表名稱。這個資料行一律會傳回值。

NON_UNIQUE

smallint

NOT NULL。

0 = 唯一

1 = 不是唯一

INDEX_QUALIFIER

sysname

索引擁有者名稱。部分 DBMS 產品允許資料表擁有者以外的使用者建立索引。在 SQL Server 中,這個資料行一律與 TABLE_NAME 相同。

INDEX_NAME

sysname

這是索引的名稱。這個資料行一律會傳回值。

TYPE

smallint

這個資料行一律會傳回值:

0 = 資料表的統計資料

1 = 叢集

2 = 雜湊

3 = 非叢集

SEQ_IN_INDEX

smallint

索引內資料行的位置。

COLUMN_NAME

sysname

傳回的 TABLE_NAME 之各個資料行的資料行名稱。這個資料行一律會傳回值。

COLLATION

char(1)

定序中使用的順序。它有下列幾種:

A = 遞增

D = 遞減

NULL = 不適用

CARDINALITY

int

資料表中的資料列數,或索引中的唯一值數目。

PAGES

int

用來儲存索引或資料表的頁數。

FILTER_CONDITION

varchar(128)

SQL Server 不會傳回值。

傳回碼值

備註

結果集中的索引會依照 NON_UNIQUETYPEINDEX_NAMESEQ_IN_INDEX 資料行的遞增順序來呈現。

叢集化的索引類型會參考依照索引順序來儲存資料表資料的索引。這對應於 SQL Server叢集索引

雜湊的索引類型接受完全相符或範圍搜尋,但模式比對搜尋不會使用索引。

sp_statistics 相當於 ODBC 中的 SQLStatistics。傳回的結果是依照 NON_UNIQUETYPEINDEX_QUALIFIERINDEX_NAMESEQ_IN_INDEX 來排序。如需詳細資訊,請參閱<ODBC API 參考>(英文)。

權限

需要結構描述的 SELECT 權限。