sys.stats (Transact-SQL)
適用于: Microsoft Fabric 中 Microsoft Fabric
倉儲中的 SQL Server
Azure SQL Database
Azure SQL 受控實例
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL 端點
針對 SQL Server 資料庫中資料表、索引和索引檢視表,每個統計資料物件各包含一個資料列。 每個索引都會有一個具有相同名稱和識別碼的對應統計資料資料列( index_id
= stats_id
),但並非每個統計資料資料列都有對應的索引。
目錄檢視 sys.stats_columns 提供資料庫中每個資料行的統計資料資訊。
如需統計資料的詳細資訊,請參閱統計資料。
注意
如需 Microsoft Fabric 中統計資料的詳細資訊,請參閱 Microsoft Fabric 中的統計資料。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
object_id | int | 這些統計資料所屬物件的識別碼。 |
name | sysname | 統計資料的名稱。 在 物件中是唯一的。 |
stats_id | int | 統計資料的識別碼。 在 物件中是唯一的。 如果統計資料對應至索引, 則stats_id 值與 sys.indexes 目錄檢視中的 index_id 值相同 。 |
auto_created | bit | 指出 SQL Server 是否自動建立統計資料。 0 = SQL Server 不會自動建立統計資料。 1 = SQL Server 自動建立統計資料。 |
user_created | bit | 指出使用者是否建立統計資料。 0 = 使用者未建立統計資料。 1 = 使用者已建立統計資料。 |
no_recompute | bit | 指出是否已使用 NORECOMPUTE 選項建立統計資料。 0 = 未使用 NORECOMPUTE 選項建立統計資料。 1 = 使用 NORECOMPUTE 選項建立 統計資料。 |
has_filter | bit | 0 = 統計資料沒有篩選,而且會在所有資料列上計算。 1 = 統計資料具有篩選,而且只會計算滿足篩選定義的資料列。 |
filter_definition | nvarchar(max) | 篩選統計資料中包含的資料列子集運算式。 Null = 未篩選的統計資料。 |
is_temporary | bit | 指出統計資料是否為暫時性。 暫時統計資料支援啟用唯讀存取的 Always On 可用性群組次要資料庫。 0 = 統計資料不是暫時的。 1 = 統計資料是暫時的。 適用於:SQL Server (從 SQL Server 2012 (11.x) 開始) |
is_incremental | bit | 指出統計資料是否建立為累加統計資料。 0 = 統計資料不是累加的。 1 = 統計資料是累加的。 適用於:SQL Server (從 SQL Server 2014 (12.x) 開始) |
has_persisted_sample | bit | 指出是否已使用 [PERSIST_SAMPLE_PERCENT] 選項建立或更新統計資料。 0 = 統計資料不會保存樣本百分比。 1 = 統計資料已使用 PERSIST_SAMPLE_PERCENT 選項建立或更新。 適用於:SQL Server (從 SQL Server 2019 (15.x) 開始) |
stats_generation_method | int | 指出建立統計資料的方法。 0 = 排序型統計資料 1 = 僅限內部使用 適用於:SQL Server (從 SQL Server 2019 (15.x) 開始) |
stats_generation_method_desc | Varchar(255) | 建立統計資料之方法的文字描述。 排序型統計資料 僅供內部使用。 適用於:SQL Server (從 SQL Server 2019 (15.x) 開始) |
auto_drop | bit | 指出是否為此統計資料物件啟用自動卸載功能。 AUTO_DROP 屬性允許在模式中建立統計資料物件,讓統計資料物件「不會」封鎖後續的結構描述變更,而是視需要卸除統計資料。 如此一來,啟用 AUTO_DROP 手動建立統計資料的運作方式如同自動建立的統計資料。 如需詳細資訊,請參閱 AUTO_DROP 選項。 適用于:Azure SQL Database、Azure SQL 受控實例,以及從 SQL Server 2022 (16.x) 開始。 |
權限
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration。
範例
下列範例會傳 HumanResources.Employee
回資料表的所有統計資料和統計資料資料行。
USE AdventureWorks2022;
GO
SELECT s.name AS statistics_name
,c.name AS column_name
,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc
ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c
ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');
另請參閱
- 物件目錄檢視 (Transact-SQL)
- 目錄檢視 (Transact-SQL)
- 查詢 SQL Server 系統目錄常見問題
- sys.dm_db_stats_properties (Transact-SQL)
- sys.dm_db_stats_histogram (Transact-SQL)
- sys.stats_columns (Transact-SQL)
下一步
意見反應
提交並檢視相關的意見反應