AKTUALIZUJ STATYSTYKĘ (Transact-SQL)
Aktualizacje kwerendy statystyki optymalizacji w tabela lub indeksowany widok.Domyślnie optymalizator kwerendy już aktualizuje statystyki w celu poprawy planu kwerend; w niektórych przypadkach można poprawić wydajność kwerendy przy użyciu aktualizacji statystyk lub procedura składowana sp_updatestats do aktualizacja statystyki częściej niż domyślne aktualizacji.
Aktualizowanie statystyki gwarantuje, że kwerendy kompilacji z up-do-data statystyki.Jednak aktualizacja statystyk powoduje kwerend ponowną kompilację.Zaleca się, aby nie aktualizuje statystyki zbyt często ponieważ zależnościami wydajności między poprawy planów kwerend i czas potrzebny do ponownego kompilowania kwerend.Szczególne ubocznych zależy od aplikacji.Za pomocą aktualizacji statystyk tempdb do sortowania próbki wierszy dla tworzenia statystyk.
Aby uzyskać więcej informacji o danych statystycznych, w tym, kiedy używać aktualizacji statystyk zobacz Aby poprawić wydajność kwerendy przy użyciu statystyk.
Składnia
UPDATE STATISTICS table_or_indexed_view_name
[
{
{ index_or_statistics__name }
| ( { index_or_statistics_name } [ ,...n ] )
}
]
[ WITH
[
[ FULLSCAN ]
| SAMPLE number { PERCENT | ROWS } ]
| RESAMPLE
| <update_stats_stream_option> [ ,...n ]
]
[ [ , ] [ ALL | COLUMNS | INDEX ]
[ [ , ] NORECOMPUTE ]
] ;
<update_stats_stream_option> ::=
[ STATS_STREAM = stats_stream ]
[ ROWCOUNT = numeric_constant ]
[ PAGECOUNT = numeric contant ]
Argumenty
table_or_indexed_view_name
Jest nazwą tabela lub indeksowany widok do aktualizacja statystyki na.index_or_statistics_name
Jest nazwą statystyk, aby zaktualizować lub nazwa indeksu do aktualizacja statystyki .Jeśli index_or_statistics_name nie jest określony, optymalizator kwerendy aktualizuje wszystkie statystyki dla tabela lub indeksowany widok.Obejmuje to statystyk utworzonych za pomocą tworzenia statystyk instrukcja, jedno -kolumna statistics utworzone przy AUTO_CREATE_STATISTICS i statystyki tworzone dla indeksów.Aby uzyskać więcej informacji o AUTO_CREATE_STATISTICS, zobacz ZMIENIA opcje zestawu bazy danych (Transact-SQL).Aby wyświetlić wszystkie indeksy tabela lub widoku, można użyć sp_helpindex.
FULLSCAN
Obliczanie statystyk przez skanowanie wszystkich wierszy w tabela lub indeksowany widok.FULLSCAN i próbce 100 procent mają takie same wyniki.FULLSCAN nie można używać z opcją próbki.PRÓBKI number {procent | WIERSZE}
Określa przybliżona wartość procentowa lub liczba wierszy w tabela lub indeksowany widok dla optymalizator kwerendy podczas aktualizacji statystyki.Wartości procentowej number może być z zakresu od 0 do 100 i wierszy, number może być z zakresu od 0 do całkowitej liczby wierszy.Rzeczywista wartość procentową lub liczbę wierszy próbek optymalizator kwerendy mogą być niezgodne procent lub o określonym numerze.Na przykład optymalizator kwerendy skanowanie wszystkich wierszy danych strona.PRÓBKA jest przydatne do specjalnych przypadków, w których nie jest optymalny plan kwerend na podstawie domyślnej próbkowanie.W większości przypadków nie jest konieczne określenie próbki, ponieważ optymalizator kwerendy używa próbkowanie i określa rozmiar statystycznie znaczenie próbka domyślnie wymagane do tworzenia planów kwerend wysokiej jakości.
PRÓBKI nie można używać z opcją FULLSCAN.Po określeniu próbki ani FULLSCAN optymalizator kwerendy używa danych włączonych do próby statystycznej i oblicza rozmiar próbki domyślnie.
Zaleca się określenie 0 procent lub 0 wierszy.Po określeniu 0 procent lub wierszy obiekt statystyki są aktualizowane, ale nie zawiera danych statystyk.
PRZEPROWADŹ PONOWNE PRÓBKOWANIE
Aktualizacja każdej statystyki za pomocą jego najnowszej częstotliwość próbkowania.Za pomocą ponownego PRÓBKOWANIA mogą skutkować skanowanietabela pełnego.Na przykład statystyki dla indeksów użyć skanowanietabela pełnego - ich częstotliwość próbkowania.Jeśli żadna z opcji próbkę (próbki, FULLSCAN, ponownego PRÓBKOWANIA) określona optymalizator kwerendy próbkuje dane i oblicza rozmiar próbki domyślnie.
WSZYSTKIE | KOLUMNY | INDEKS
Aktualizacja istniejących statystyk, statystyki tworzone na jedną lub więcej kolumn lub statystyki tworzone dla indeksów.Jeśli żadna z opcji określono UPDATE STATISTICS instrukcja aktualizuje wszystkie statystyki na tabela lub indeksowany widok.NORECOMPUTE
Wyłącz opcję aktualizacji statystyk automatycznych, AUTO_UPDATE_STATISTICS, dla określonych statystyk.Jeżeli określono tę opcję optymalizator kwerendy zakończeniu tej aktualizacji statystyk i wyłącza przyszłych aktualizacji.Aby ponownie włączyć zachowanie opcja AUTO_UPDATE_STATISTICS, ponownie uruchom UPDATE STATISTICS bez opcji NORECOMPUTE lub uruchom sp_autostats.
Przestroga Za pomocą tej opcji może spowodować planów kwerend utratę jakości.Zaleca się użycie tej opcji należy oszczędnie, a następnie tylko przez kwalifikowaną administrator systemu.
Aby uzyskać więcej informacji dotyczących opcji AUTO_STATISTICS_UPDATE, zobacz ZMIENIA opcje zestawu bazy danych (Transact-SQL).Aby uzyskać więcej informacji dotyczących wyłączania i ponownego włączania wstrzymywanie statystyk, zobacz Aby poprawić wydajność kwerendy przy użyciu statystyk.
<update_stats_stream_option>
Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.
Uwagi
Kiedy używać aktualizacji statystyk
Aby uzyskać więcej informacji o tym, kiedy używać aktualizacji statystyk, zobacz Aby poprawić wydajność kwerendy przy użyciu statystyk.
Aktualizowanie wszystkich statystyk z sp_updatestats
Aby uzyskać informacje dotyczące sposobu aktualizacja statystyki dla wszystkich tabel zdefiniowanych przez użytkownika i wewnętrznej bazy danych, zobacz procedura składowana sp_updatestats (języka Transact-SQL).Na przykład następujące polecenie wywołania sp_updatestats Aktualizacja wszystkich statystyk dla bazy danych.
EXEC sp_updatestats
Określanie ostatniej aktualizacji statystyk
Aby określić, kiedy ostatniej aktualizacji statystyk, użyj STATS_DATE funkcja.
Uprawnienia
Wymaga ZMIEŃ uprawnienia w tabela lub widoku.
Przykłady
A.Aktualizowanie wszystkich statystyk w tabela
Poniższy przykład aktualizuje statystykę dla wszystkich indeksów na SalesOrderDetail tabela.
USE AdventureWorks2008R2;
GO
UPDATE STATISTICS Sales.SalesOrderDetail;
GO
B.Aktualizuj statystykę dla indeksu
Poniższy przykład aktualizuje statystyki dla AK_SalesOrderDetail_rowguid indeks SalesOrderDetail tabela.
USE AdventureWorks2008R2;
GO
UPDATE STATISTICS Sales.SalesOrderDetail AK_SalesOrderDetail_rowguid;
GO
C.Aktualizuj statystykę przy użyciu 50 procent próbkowanie
Poniższy przykład tworzy i aktualizuje statystyki dla Name i ProductNumber kolumn w Product tabela.
USE AdventureWorks2008R2;
GO
CREATE STATISTICS Products
ON Production.Product ([Name], ProductNumber)
WITH SAMPLE 50 PERCENT
-- Time passes. The UPDATE STATISTICS statement is then executed.
UPDATE STATISTICS Production.Product(Products)
WITH SAMPLE 50 PERCENT;
D.Aktualizuj statystykę przy użyciu FULLSCAN i NORECOMPUTE
Następujące aktualizacje przykład Products Statystyka w Product tabelawymusza pełne skanowanie wszystkich wierszy w Product tabelai wyłącza automatyczne statystyki dla Products statystyk.
USE AdventureWorks2008R2;
GO
UPDATE STATISTICS Production.Product(Products)
WITH FULLSCAN, NORECOMPUTE;
GO
Zobacz także