Aracılığıyla paylaş


ANALYZE TABLE... İŞLEM İSTATISTIKLERI

Şunun için geçerlidir:Evet olarak işaretlendi Databricks SQL Evet olarak işaretlendi Databricks Runtime

ANALYZE TABLE … COMPUTE STATISTICS Belirli bir tablo veya belirtilen şemadaki tüm tablolar hakkında tahmini istatistikleri toplamak için deyimini kullanın. Bu istatistikler, sorgu iyileştiricisi tarafından en uygun sorgu planını oluşturmak için kullanılır.

Tahmine dayalı iyileştirme, bu bilgileri toplamak için Unity Kataloğu yönetilen tablolarında otomatik olarak çalışır ANALYZE . Databricks, veri bakımını basitleştirmek ve depolama maliyetlerini azaltmak için tüm Unity Kataloğu yönetilen tablolarında tahmine dayalı iyileştirmenin etkinleştirilmesini önerir. Bkz. Unity Kataloğu tarafından yönetilen tablolar için tahmine dayalı optimizasyon.

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, zamansal belirtim veya seçenek belirtimi veya yolu içermemelidir. Tablo bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hata koşulu oluşturur.

  • PARTITION cümle

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

    Delta Lake tabloları için bu madde 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, veri atlama işlemi için yeni sütunlar ayarlandıktan sonra, tablodaki tüm satırların istatistiklerini güncellemek amacıyla ANALYZE TABLE table_name COMPUTE DELTA STATISTICS çalıştırılmasını ö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 COLUMNS 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 COLUMNS

      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 PARTITION ifadesiyle birlikte kullanıldığında 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;