Aracılığıyla paylaş


ANALYZE TABLE

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

deyimi, ANALYZE TABLE belirli bir tablo veya belirtilen şemadaki tüm tablolar hakkındaki istatistikleri toplar. Bu istatistikler, sorgu iyileştiricisi tarafından en uygun sorgu planını oluşturmak için kullanılır. Veri değiştikçe eskiye dönüşebileceğinden, bu istatistikler sorguları doğrudan yanıtlamak için kullanılmaz. Eski istatistikler, sorgu planı oluştururken sorgu iyileştiricisi için hala yararlıdır.

Sözdizimi

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 ]

Parametreler

  • table_name

    Analiz edilecek tabloyu tanımlar. Ad bir zamansal belirtim veya yol içermemelidir. Tablo bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.

  • PARTITION yan tümcesi

    İsteğe bağlı olarak komutu bölümlerin bir alt kümesiyle sınırlar.

    Delta Lake tabloları için bu yan tümce desteklenmez.

  • DELTA

    Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 14.3 LTS ve üzeri

    Delta tablosundaki istatistik koleksiyonu için yapılandırılan sütunlar için Delta günlüğünde depolanan istatistikleri yeniden derler.

    Anahtar sözcük belirtildiğinde DELTA , sorgu iyileştiricisi için normal istatistikler toplanmaz.

    Databricks, tablodaki tüm satırların istatistiklerini güncelleştirmek üzere atlayan veriler için yeni sütunlar ayarladıktan sonra çalıştırılmasını ANALYZE TABLE table_name COMPUTE DELTA STATISTICS önerir. İyileştirilmiş performans için Delta günlüğü güncelleştirmesi tamamlandıktan sonra sorgu planını güncelleştirmek için komutunu çalıştırın ANALYZE TABLE table_name COMPUTE STATISTICS .

  • [ NOSCAN | FOR COLUMNS col [, ...] | TÜM SÜTUNLAR IÇIN ]

    Çözümle seçeneği belirtilmezse, ANALYZE TABLE tablonun satır sayısını ve boyutunu bayt cinsinden toplar.

    • NOSCAN

      Yalnızca tablonun boyutunu bayt cinsinden toplayın ( tablonun tamamını taramayı gerektirmez).

    • FOR COLUMNS col [, ...] | TÜM SÜTUNLAR IÇIN

      Belirtilen her sütun için sütun istatistiklerini veya alternatif olarak her sütun için sütun istatistiklerini ve tablo istatistiklerini toplayın.

      Sütun istatistikleri yan tümcesiyle PARTITION birlikte desteklenmez.

  • { KAYNAK | IN } schema_name

    Çözümlenecek şemanın adını belirtir. Şema adı olmadan, ANALYZE TABLES geçerli kullanıcının analiz etme iznine sahip olduğu geçerli şemadaki tüm tabloları toplar.

Örnekler

> 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;