ANALYZE TABLE
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Az ANALYZE TABLE
utasítás egy adott táblára vagy egy adott sémában lévő összes táblára vonatkozó statisztikákat gyűjt. Ezeket a statisztikákat a lekérdezésoptimalizáló használja az optimális lekérdezésterv létrehozásához. Mivel az adatváltozások elavulttá válhatnak, ezek a statisztikák nem használhatók a lekérdezések közvetlen megválaszolására. A elavult statisztikák továbbra is hasznosak a lekérdezésoptimalizáló számára egy lekérdezésterv létrehozásakor.
Szintaxis
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 ]
Paraméterek
-
Azonosítja az elemezni kívánt táblát. A név nem tartalmazhat időbeli specifikációt vagy elérési utat. Ha a tábla nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát jelez.
-
Igény szerint a parancsot a partíciók egy részhalmazára korlátozza.
Ez a záradék a Delta Lake-táblák esetében nem támogatott.
DELTA
A következőkre vonatkozik: Databricks Runtime 14.3 LTS és újabb
A Delta-naplóban tárolt statisztikák újrakomponálása a Delta-táblában a statisztikai adatgyűjtéshez konfigurált oszlopokhoz.
A kulcsszó megadásakor a
DELTA
rendszer nem gyűjti össze a lekérdezésoptimalizáló szokásos statisztikáit.A Databricks azt javasolja, hogy futtasson
ANALYZE TABLE table_name COMPUTE DELTA STATISTICS
, miután új oszlopokat adott meg az adatkiugráshoz a tábla összes sorának statisztikáinak frissítéséhez. Az optimalizált teljesítmény érdekében futtassaANALYZE TABLE table_name COMPUTE STATISTICS
a lekérdezési terv frissítését a Delta-napló frissítése után.[ NOSCAN | HASÁBOK oszlopa [, ...] | MINDEN OSZLOPHOZ ]
Ha nincs megadva elemzési beállítás,
ANALYZE TABLE
akkor a tábla sorainak és méretének bájtban való számát gyűjti össze.NOSCAN
Csak a tábla méretét gyűjtse össze bájtban (ami nem igényli a teljes táblázat vizsgálatát).
HASÁBOK oszlopa [, ...] | MINDEN OSZLOPHOZ
Gyűjtse össze az oszlopstatisztikákat minden megadott oszlophoz, vagy alternatív megoldásként minden oszlophoz, valamint a táblázatstatisztikákhoz.
Az oszlopstatisztikák nem támogatottak a
PARTITION
záradékkal együtt.
{ FROM
|
IN } schema_nameMegadja az elemezni kívánt séma nevét. Sémanév
ANALYZE TABLES
nélkül összegyűjti az aktuális séma összes tábláját, amelyet az aktuális felhasználó elemezni jogosult.
Példák
> 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;