ANALYZE TABLE
Dotyczy: Databricks SQL Databricks Runtime
Instrukcja ANALYZE TABLE
zbiera statystyki dotyczące określonej tabeli lub wszystkich tabel w określonym schemacie. Te statystyki są używane przez optymalizator zapytań do generowania optymalnego planu zapytania. Ponieważ mogą one stać się nieaktualne w miarę zmian danych, te statystyki nie są używane do bezpośredniego odpowiadania na zapytania. Nieaktualne statystyki są nadal przydatne dla optymalizatora zapytań podczas tworzenia planu zapytania.
Składnia
ANALYZE TABLE table_name [ PARTITION clause ]
COMPUTE [ DELTA ] STATISTICS [ NOSCAN | FOR COLUMNS col1 [, ...] | FOR ALL COLUMNS ]
ANALYZE TABLES [ { FROM | IN } schema_name ] COMPUTE STATISTICS [ NOSCAN ]
Parametry
-
Identyfikuje tabelę do przeanalizowania. Nazwa nie może zawierać specyfikacji czasowej ani ścieżki . Jeśli nie można odnaleźć tabeli usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .
-
Opcjonalnie ogranicza polecenie do podzbioru partycji.
Ta klauzula nie jest obsługiwana w przypadku tabel usługi Delta Lake.
DELTA
Dotyczy: Databricks SQL Databricks Runtime 14.3 LTS i nowsze
Ponownie skompiluj statystyki przechowywane w dzienniku delty dla kolumn skonfigurowanych dla zbierania statystyk w tabeli delty.
Po określeniu
DELTA
słowa kluczowego nie są zbierane normalne statystyki optymalizatora zapytań.Usługa Databricks zaleca uruchamianie
ANALYZE TABLE table_name COMPUTE DELTA STATISTICS
po ustawieniu nowych kolumn dla danych pomijających aktualizowanie statystyk dla wszystkich wierszy w tabeli. Aby zoptymalizować wydajność, uruchom polecenieANALYZE TABLE table_name COMPUTE STATISTICS
, aby zaktualizować plan zapytania po zakończeniu aktualizacji dziennika delty.[ NOSCAN | KOLUMNA KOLUMN [, ...] | DLA WSZYSTKICH KOLUMN ]
Jeśli nie określono opcji analizy,
ANALYZE TABLE
zbiera liczbę wierszy i rozmiar tabeli w bajtach.NOSCAN
Zbierz tylko rozmiar tabeli w bajtach ( który nie wymaga skanowania całej tabeli ).
KOLUMNA KOLUMN [, ...] | DLA WSZYSTKICH KOLUMN
Zbierz statystyki kolumn dla każdej określonej kolumny lub alternatywnie dla każdej kolumny, a także statystyki tabeli.
Statystyki kolumn nie są obsługiwane w połączeniu z klauzulą
PARTITION
.
{ FROM
|
IN } schema_nameOkreśla nazwę schematu do przeanalizowania. Bez nazwy schematu zbiera wszystkie tabele w bieżącym schemacie,
ANALYZE TABLES
do którego bieżący użytkownik ma uprawnienia do analizowania.
Przykłady
> CREATE TABLE students (name STRING, student_id INT) PARTITIONED BY (student_id);
> INSERT INTO students PARTITION (student_id = 111111) VALUES ('Mark');
> INSERT INTO students PARTITION (student_id = 222222) VALUES ('John');
> ANALYZE TABLE students COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLE students COMPUTE STATISTICS;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
-- Note: ANALYZE TABLE .. PARTITION is not supported for Delta tables.
> ANALYZE TABLE students PARTITION (student_id = 111111) COMPUTE STATISTICS;
> DESC EXTENDED students PARTITION (student_id = 111111);
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Partition Statistics 432 bytes, 1 rows
... ... ...
OutputFormat org.apache.hadoop...
> ANALYZE TABLE students COMPUTE STATISTICS FOR COLUMNS name;
> DESC EXTENDED students name;
info_name info_value
-------------- ----------
col_name name
data_type string
comment NULL
min NULL
max NULL
num_nulls 0
distinct_count 2
avg_col_len 4
max_col_len 4
histogram NULL
> ANALYZE TABLES IN school_schema COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLES COMPUTE STATISTICS;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes, 2 rows
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
> ANALYZE TABLE some_delta_table COMPUTE DELTA STATISTICS;
Powiązane artykuły
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla