Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
A legfrissebb statisztikai frissítés dátumát adja vissza egy táblázaton vagy indexelt nézeten.
További információért a statisztikák frissítéséről lásd : Statisztikák.
Transact-SQL szintaxis konvenciók
Szemantika
STATS_DATE ( object_id , stats_id )
Arguments
object_id
A táblázat azonosítója vagy az indexelt nézet a statisztikákkal.
stats_id
A statisztikai objektum azonosítója.
Visszatérési típusok
A siker után visszaadja a dátumidőt . NULL értéket ad vissza, ha nem hoztak létre statisztikai tömböt.
Megjegyzések
A rendszerfüggvények használhatók a kiválasztási listában, a WHERE záradékban, és bárhol, ahol kifejezés használható.
A statisztikai frissítés dátuma a statisztikai blobobjektumban a hisztogram és sűrűségvektorvan tárolva, nem a metaadatokban. Ha nem olvasnak adatokat statisztikai adatok generálásához, a statisztikai folb nem jön létre, és a dátum nem elérhető. Ez igaz szűrt statisztikákra, amelyeknél a predikátum nem ad sorokat, vagy új üres táblákra.
Ha a statisztikák indexnek felelnek meg, a sys.stats katalógusnézetben a stats_id érték megegyezik a sys.indexeskatalógusnézetbeli index_id értékével.
Permissions
Tagság szükséges a db_owner fix adatbázis szerepében, vagy engedélyt a tábla vagy indexelt nézet metaadatainak megtekintéséhez.
Példák
A. Adja vissza a legfrissebb statisztikák dátumait egy táblázathoz
A következő példa adja vissza a legfrissebb frissítés dátumát minden statisztikai objektumra a Person.Address táblán.
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
Ha a statisztikák indexnek felelnek meg, a sys.stats katalógusnézetben a stats_id érték megegyezik a sys.indexeskatalógusnézetben lévő index_id értékével, és a következő lekérdezés ugyanazt az eredményt adja vissza, mint az előző lekérdezés. Ha a statisztikák nem felelnek meg egy indexnek, akkor a sys.stats eredményeiben vannak, de a sys.indexes eredményeiben nem.
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
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
B. Tudd meg, mikor frissítettek utoljára egy nevelt statisztikát
Az alábbi példa statisztikákat hoz létre a DimCustomer tábla Vezetéknév oszlopában. Ezután lefuttat egy lekérdezést, hogy megmutassa a statisztikák dátumát. Ezután lenyomja a statisztikákat, és újra lefuttatja a lekérdezést, hogy megmutassa a frissített dátumot.
--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. Tekintse meg az utolsó frissítés dátumát az összes statisztikához egy táblázaton
Ez a példa adja vissza azt a dátumot, amikor minden statisztikai objektumot utoljára frissítettek a DimCustomer táblán.
--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
Ha a statisztikák indexnek felelnek meg, a sys.stats katalógusnézetben a stats_id érték megegyezik a sys.indexeskatalógusnézetben lévő index_id értékével, és a következő lekérdezés ugyanazt az eredményt adja vissza, mint az előző lekérdezés. Ha a statisztikák nem felelnek meg egy indexnek, akkor a sys.stats eredményeiben vannak, de a sys.indexes eredményeiben nem.
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
Lásd még:
Rendszerfunkciók (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL)
Statisztika
sys.dm_db_stats_properties (Transact-SQL)
sys.stats
Statisztikák a Microsoft Fabric-ben