STATS_DATE (Transact-SQL)STATS_DATE (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

テーブルまたはインデックス付きビューの統計の最終更新日を返します。Returns the date of the most recent update for statistics on a table or indexed view.

統計の更新について詳しくは、「統計」をご覧ください。For more information about updating statistics, see Statistics.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

STATS_DATE ( object_id , stats_id )  

引数Arguments

object_idobject_id
統計を含むテーブルまたはインデックス付きビューの ID。ID of the table or indexed view with the statistics.

stats_idstats_id
統計オブジェクトの ID。ID of the statistics object.

戻り値の型Return Types

成功時に datetime を返します。Returns datetime on success. 統計 BLOB が作成されていない場合は、NULL を返します。Returns NULL if a statistics blob was not created.

解説Remarks

システム関数は、選択リストの中、WHERE 句の中、また、式を使える所ならどこにでも使用できます。System functions can be used in the select list, in the WHERE clause, and anywhere an expression can be used.

統計の更新日付は、メタデータではなく統計 BLOB オブジェクトヒストグラムおよび密度ベクトルと共に格納されます。Statistics update date is stored in the statistics blob object together with the histogram and density vector, not in the metadata. 統計データを生成するためのデータが読み取られていない場合、統計 BLOB は作成されず、日付は使用できません。When no data is read to generate statistics data, the statistics blob is not created, and the date is not available. これは、述語が行を返さないフィルター選択された統計情報や、新しい空のテーブルの場合です。This is the case for filtered statistics for which the predicate does not return any rows, or for new empty tables.

統計がインデックスに対応する場合、sys.stats カタログ ビューの stats_id の値は、sys.indexes カタログ ビューの index_id の値と同一になります。If statistics correspond to an index, the stats_id value in the sys.stats catalog view is the same as the index_id value in the sys.indexes catalog view.

アクセス許可Permissions

db_owner 固定データベース ロールのメンバーシップか、テーブルまたはインデックス付きビューのメタデータを表示する権限が必要です。Requires membership in the db_owner fixed database role or permission to view the metadata for the table or indexed view.

Examples

A.A. テーブルの統計の最終更新日を返すReturn the dates of the most recent statistics for a table

次の例では、Person.Address テーブルの各統計オブジェクトの最終更新日を返します。The following example returns the date of the most recent update for each statistics object on the Person.Address table.

USE AdventureWorks2012;  
GO  
SELECT name AS stats_name,   
    STATS_DATE(object_id, stats_id) AS statistics_update_date  
FROM sys.stats   
WHERE object_id = OBJECT_ID('Person.Address');  
GO  

統計がインデックスに対応する場合、sys.stats カタログ ビューの stats_id の値は、sys.indexes カタログ ビューの index_id の値と同一になります。このため、次に示すクエリは上のクエリと同じ結果を返します。If statistics correspond to an index, the stats_id value in the sys.stats catalog view is the same as the index_id value in the sys.indexes catalog view, and the following query returns the same results as the preceding query. 統計がインデックスに対応しない場合、統計は sys.stats の結果には含まれますが、sys.indexes の結果には含まれません。If statistics do not correspond to an index, they are in the sys.stats results but not in the sys.indexes results.

USE AdventureWorks2012;  
GO  
SELECT name AS index_name,   
    STATS_DATE(object_id, index_id) AS statistics_update_date  
FROM sys.indexes   
WHERE object_id = OBJECT_ID('Person.Address');  
GO  

例: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW)Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) and Parallel Data WarehouseParallel Data Warehouse

B.B. 指定された統計の最終更新日時を確認するLearn when a named statistics was last updated

次の例では、DimCustomer テーブルの LastName 列に統計を作成します。The following example creates statistics on the LastName column of the DimCustomer table. その後、統計情報の日付を表示するクエリを実行します。It then runs a query to show the date of the statistics. さらに、統計を更新し、もう一度クエリを実行して更新された日付を表示します。Then it udpates the statistics and runs the query again to show the updated date.

--First, create a statistics object  
USE AdventureWorksPDW2012;  
GO  
CREATE STATISTICS Customer_LastName_Stats  
ON AdventureWorksPDW2012.dbo.DimCustomer (LastName)  
WITH SAMPLE 50 PERCENT;  
GO  
  
--Return the date when Customer_LastName_Stats was last updated  
USE AdventureWorksPDW2012;  
GO  
SELECT stats_id, name AS stats_name,   
    STATS_DATE(object_id, stats_id) AS statistics_date  
FROM sys.stats s  
WHERE s.object_id = OBJECT_ID('dbo.DimCustomer')  
    AND s.name = 'Customer_LastName_Stats';  
GO  
  
--Update Customer_LastName_Stats so it will have a different timestamp in the next query  
GO  
UPDATE STATISTICS dbo.dimCustomer (Customer_LastName_Stats);  
  
--Return the date when Customer_LastName_Stats was last updated.  
SELECT stats_id, name AS stats_name,   
    STATS_DATE(object_id, stats_id) AS statistics_date  
FROM sys.stats s  
WHERE s.object_id = OBJECT_ID('dbo.DimCustomer')  
    AND s.name = 'Customer_LastName_Stats';  
GO    

C.C. テーブルのすべての統計の最後の更新日付を表示するView the date of the last update for all statistics on a table

この例は、DimCustomer テーブル上の各統計オブジェクトが最後に更新された日付を返します。This example returns the date for when each statistics object on the DimCustomer table was last updated.

--Return the dates all statistics on the table were last updated.  
SELECT stats_id, name AS stats_name,   
    STATS_DATE(object_id, stats_id) AS statistics_date  
FROM sys.stats s  
WHERE s.object_id = OBJECT_ID('dbo.DimCustomer');  
GO  

統計がインデックスに対応する場合、sys.stats カタログ ビューの stats_id の値は、sys.indexes カタログ ビューの index_id の値と同一になります。このため、次に示すクエリは上のクエリと同じ結果を返します。If statistics correspond to an index, the stats_id value in the sys.stats catalog view is the same as the index_id value in the sys.indexes catalog view, and the following query returns the same results as the preceding query. 統計がインデックスに対応しない場合、統計は sys.stats の結果には含まれますが、sys.indexes の結果には含まれません。If statistics do not correspond to an index, they are in the sys.stats results but not in the sys.indexes results.

USE AdventureWorksPDW2012;  
GO  
SELECT name AS index_name,   
    STATS_DATE(object_id, index_id) AS statistics_update_date  
FROM sys.indexes   
WHERE object_id = OBJECT_ID('dbo.DimCustomer');  
GO  

参照See Also

システム関数 (Transact-SQL) System Functions (Transact-SQL)
UPDATE STATISTICS (Transact-SQL) UPDATE STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL) sp_autostats (Transact-SQL)
統計 Statistics
sys.dm_db_stats_properties (Transact-SQL) sys.dm_db_stats_properties (Transact-SQL)
sys.statssys.stats