Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Tabloda veya indekslenmiş görünümde istatistikler için en son güncelleme tarihini döndürür.
İstatistiklerin güncellenmesi hakkında daha fazla bilgi için İstatistikler bölümünü inceleyin.
Transact-SQL söz dizimi kuralları
Sözdizimi
STATS_DATE ( object_id , stats_id )
Arguments
object_id
Tablonun kimliği veya istatistiklerle birlikte indekslenmiş görünüm.
stats_id
İstatistik nesnesinin kimliği.
Dönüş Türleri
Başarı zamanı döner . Bir istatistik blobu oluşturulmadıysa NULL döner.
Açıklamalar
Sistem fonksiyonları, seçim listesinde, WHERE cümlesinde ve ifadenin kullanılabileceği her yerde kullanılabilir.
İstatistik güncelleştirme tarihi, meta verilerde değil histogram ve yoğunluk vektörüyle birlikte istatistik blob nesnesinde depolanır. İstatistik veri oluşturmak için veri okunmadığında, istatistik blobu oluşturulmaz ve tarih erişilebilir değildir. Bu, önlemin satır döndürmediği filtrelenmiş istatistikler veya yeni boş tablolar için geçerlidir.
Eğer istatistikler bir indeksle eşleşiyorsa, sys.stats katalog görünümündeki stats_id değeri, sys.indexes katalog görünümündeki index_id değeriyle aynıdır.
Permissions
db_owner sabit veritabanı rolünde üyelik veya tablo veya indekslenmiş görünüm için meta verileri görüntülemek için izin gerektirir.
Örnekler
A. Tablo için en güncel istatistiklerin tarihlerini döndür
Aşağıdaki örnek, tablodaki Person.Address her istatistik nesnesi için en son güncelleme tarihini döndürür.
USE AdventureWorks2022;
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
Eğer istatistikler bir indeksle eşleşiyorsa, sys.stats katalog görünümündeki stats_id değeri, sys.indexes katalog görünümündeki index_id değeriyle aynıdır ve sonraki sorgu, önceki sorguyla aynı sonuçları verir. Eğer istatistikler bir indeksle eşleşmiyorsa, sys.stats sonuçlarındadır, ancak sys.indexes sonuçlarında yoktur.
USE AdventureWorks2022;
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
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
B. Bir isimli istatistikin en son ne zaman güncellendiğini öğrenin
Aşağıdaki örnek, DimCustomer tablosunun Soyadı sütununda istatistikler oluşturur. Sonra istatistiklerin tarihini göstermek için bir sorgu çalıştırır. Sonra istatistikleri gözden geçirir ve güncelleme tarihi göstermek için sorguyu tekrar çalıştırır.
--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. Tüm istatistikler için son güncelleme tarihini bir tabloda görüntüleyin
Bu örnek, DimCustomer tablosundaki her istatistik nesnesinin en son güncellendiği tarihi geri getirir.
--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
Eğer istatistikler bir indeksle eşleşiyorsa, sys.stats katalog görünümündeki stats_id değeri, sys.indexes katalog görünümündeki index_id değeriyle aynıdır ve sonraki sorgu, önceki sorguyla aynı sonuçları verir. Eğer istatistikler bir indeksle eşleşmiyorsa, sys.stats sonuçlarındadır, ancak sys.indexes sonuçlarında yoktur.
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
Ayrıca Bkz.
Sistem İşlevleri (Transact-SQL)
İSTATİSTİKLERİ GÜNCELLE (Transact-SQL)
sp_autostats (Transact-SQL)
İstatistikler
sys.dm_db_stats_properties (Transact-SQL)
sys.stats
Microsoft Fabric'te İstatistikler