Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Pomocí příkazu ANALYZE TABLE … COMPUTE STATISTICS můžete shromažďovat odhadované statistiky o konkrétní tabulce nebo všech tabulkách v zadaném schématu. Tyto statistiky používá optimalizátor dotazů k vygenerování optimálního plánu dotazu.
Prediktivní optimalizace se automaticky spouští ANALYZE na spravovaných tabulkách katalogu Unity, aby shromáždila tyto informace. Databricks doporučuje povolit prediktivní optimalizaci pro všechny spravované tabulky Katalogu Unity, aby se zjednodušila údržba dat a snížily náklady na úložiště. Viz prediktivní optimalizaci pro spravované tabulky v katalogu Unity .
Syntaxe
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
-
Identifikuje tabulku, která se má analyzovat. Název nesmí obsahovat specifikaci času nebo specifikaci možností ani cestu. Pokud tabulku nenajdete, Azure Databricks vyvolá TABLE_OR_VIEW_NOT_FOUND chybový stav.
PARTITION klauzule
Volitelně omezí příkaz na podmnožinu oddílů.
Tato klauzule není pro tabulky Delta Lake podporovaná.
DELTAPlatí pro:
Databricks SQL
Databricks Runtime 14.3 LTS a vyššíPřepočítává statistiky uložené v protokolu Delta pro sloupce nakonfigurované pro sběr statistik v tabulce Delta.
Při zadání klíčového
DELTAslova se neshromažďují běžné statistiky optimalizátoru dotazů.Databricks doporučuje spustit
ANALYZE TABLE table_name COMPUTE DELTA STATISTICSpo nastavení nových sloupců pro přeskočení dat, aby se aktualizovaly statistiky pro všechny řádky v tabulce. Pokud chcete optimalizovat výkon, spusťteANALYZE TABLE table_name COMPUTE STATISTICSa aktualizujte plán dotazu po dokončení aktualizace protokolu Delta.[ NOSCAN | FOR COLUMNS col [, ...] | Pro všechny COLUMNS ]
Pokud není zadána žádná možnost analýzy,
ANALYZE TABLEshromáždí počet řádků a velikostí tabulky v bajtech.NOSCAN
Shromážděte pouze velikost tabulky v bajtech (což nevyžaduje skenování celé tabulky).
FOR COLUMNS col [, ...] | PRO VŠECHNY COLUMNS
Shromážděte statistiky sloupců pro každý zadaný sloupec nebo případně pro každý sloupec a také statistiky tabulky.
Statistiky sloupců nejsou podporovány v kombinaci s klauzulí
PARTITION.
{ FROM
|IN } schema_nameUrčuje název schématu, který se má analyzovat. Bez názvu schématu
ANALYZE TABLESshromažďuje všechny tabulky v aktuálním schématu, ke kterému má aktuální uživatel oprávnění k analýze.
Příklady
> 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;