PERLIHATKAN STATISTIK

Berlaku untuk:check ditandai ya pemeriksaan Databricks SQL ditandai ya Databricks Runtime 18 LTS ke atas

Note

Databricks Runtime 18 lebih baru dari Databricks Runtime 18.0, 18.1, dan 18.2. Fitur yang sebelumnya akan dikirim sebagai versi bernomor yang lebih baru sekarang dikirim sebagai pembaruan tanggal ke Databricks Runtime 18 sebagai gantinya. Untuk detailnya, lihat Tentang catatan rilis terpadu.

Mengembalikan statistik pengoptimal untuk tabel sebagai dokumen JSON, termasuk statistik tingkat tabel dan statistik per kolom opsional.

Databricks SHOW STATISTICS merekomendasikan untuk membaca statistik pengoptimal secara terprogram. Ini hanya mengembalikan statistik, tanpa skema, penyimpanan, properti, partisi, dan metadata lainnya yang disertakan dalamDESCRIBE TABLE EXTENDED ... SEBAGAI JSON. Gunakan ANALYZE TABLE ... STATISTIK KOMPUTASI (atau pengoptimalan prediktif) untuk mengumpulkan statistik yang dilaporkan perintah ini.

Memerlukan izin

Untuk berjalan SHOW STATISTICS pada tabel Unity Catalog, Anda memerlukan:

  • USE CATALOG pada katalog induk.
  • USE SCHEMA pada skema induk.
  • SELECT pada tabel, atau kepemilikan tabel.

Syntax

SHOW STATISTICS [ { FROM | IN } ] table_name
    [ FOR COLUMNS column_name [, ...] | FOR ALL COLUMNS ]
    AS JSON

Kata FROM kunci dan IN bersifat opsional dan dapat dipertukarkan.

Parameter-parameternya

  • table_name

    Mengidentifikasi tabel untuk melaporkan statistik. Nama tidak boleh menyertakan spesifikasi temporal atau spesifikasi opsi.

    Jika tabel tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan TABLE_OR_VIEW_NOT_FOUND.

    Tampilan (sementara atau persisten) tidak didukung. SHOW STATISTICS Memanggil tampilan meningkatkan EXPECT_TABLE_NOT_VIEW.NO_ALTERNATIVE. Gunakan DESCRIBE EXTENDED untuk melihat metadata.

  • UNTUK COLUMNScolumn_name [, ...]

    Menambahkan entri ke statistics.column_statistics untuk setiap kolom bernama.

    Jika ada kolom bernama yang tidak ada di tabel, perintah akan menaikkan COLUMN_NOT_FOUND.

  • UNTUK SEMUA COLUMNS

    Menambahkan entri ke statistics.column_statistics untuk setiap kolom tingkat atas tabel yang diketik atomik.

    Kolom yang jenis datanya adalah STRUCT, ARRAY, atau MAP dikecualikan, karena pengoptimal tidak mengumpulkan statistik pada jenis kompleks. Bidang berlapis tidak dijumlahkan.

  • SEBAGAI JSON

    Required. Hasilnya dikembalikan sebagai format JSON STRINGtunggal .

Output berformat JSON

Dokumen JSON yang dikembalikan menggunakan skema berikut:

{
  "table_name": "<table_name>",
  "catalog_name": "<catalog_name>",
  "namespace": ["<schema_name>"],
  "schema_name": "<schema_name>",
  "statistics": {
    "size_in_bytes": <bytes>,
    "num_rows": <count>,
    "collection_source": "<collection_source>",
    "created_at": "<created_at_timestamp>",
    "column_statistics": {
      "<column_name>": {
        "min": "<min_value>",
        "max": "<max_value>",
        "distinct_count": <count>,
        "num_nulls": <count>,
        "avg_len": <bytes>,
        "max_len": <bytes>,
        "has_histogram": <boolean>,
        "has_mcv": <boolean>,
        "has_kll_sketch": <boolean>
      }
    }
  }
}
  • statistics.size_in_bytes

    Ukuran total data tabel dalam byte, seperti yang diketahui oleh pengoptimal. Dihilangkan ketika tidak ada statistik tingkat tabel.

  • statistics.num_rows

    Jumlah baris, seperti yang diketahui oleh pengoptimal. null jika tidak dikumpulkan.

  • statistics.collection_source

    Bagaimana statistik tingkat tabel diproduksi. Salah satu dari:

    • Analisis Manual — dikumpulkan oleh ANALYZE TABLE ... COMPUTE STATISTICS.
    • Statistik Otomatis — dikumpulkan secara otomatis selama penulisan.
    • Predictive Analyze — dikumpulkan oleh pengoptimalan prediktif.
    • Tidak diketahui — dikumpulkan oleh sumber yang tidak dikenal.
    • null — tidak ada statistik tingkat tabel yang tersedia.
  • statistics.created_at

    Ketika statistik tingkat tabel dikumpulkan, sebagai tanda waktu UTC ISO 8601 (misalnya, 2026-05-29T08:14:24.845Z). null jika tidak dikumpulkan.

  • statistics.column_statistics

    Hanya disertakan saat FOR COLUMNS atau FOR ALL COLUMNS ditentukan. Memetakan setiap kolom yang diminta ke statistik per kolomnya.

    Bidang berikut selalu ada, dengan null saat tidak dikumpulkan:

    • min, maks — nilai minimum dan maksimum, dirender sebagai string JSON.
    • distinct_count — jumlah nilai yang berbeda (NDV).
    • num_nulls — jumlah NULL nilai.
    • avg_len, max_len — panjang nilai rata-rata dan maksimum dalam byte.
    • has_histogramtrue jika histogram setara tinggi tersedia untuk kolom.

    Bidang berikut hanya muncul ketika koleksi sketsa yang sesuai diaktifkan, dan dihilangkan jika tidak:

    • has_mcvtrue jika daftar nilai yang paling umum tersedia untuk kolom.
    • has_kll_sketchtrue jika sketsa KLL tersedia untuk kolom.

Examples

-- Set up a table and collect column statistics.
> CREATE TABLE customer(cust_id INT, name STRING, state STRING) USING parquet;
> INSERT INTO customer VALUES (100, 'Mike', 'AR'), (200, 'Jane', 'CA');
> ANALYZE TABLE customer COMPUTE STATISTICS FOR ALL COLUMNS;

-- Table-level statistics only.
> SHOW STATISTICS FROM customer AS JSON;
 {"table_name":"customer","catalog_name":"spark_catalog",
  "namespace":["default"],"schema_name":"default",
  "statistics":{"size_in_bytes":864,"num_rows":2,
                "collection_source":"Manual Analyze",
                "created_at":"2026-05-29T08:14:24.845Z"}}

-- Per-column statistics for a list of columns.
> SHOW STATISTICS FROM customer FOR COLUMNS cust_id, name AS JSON;
 {"table_name":"customer","catalog_name":"spark_catalog",
  "namespace":["default"],"schema_name":"default",
  "statistics":{"size_in_bytes":864,"num_rows":2,
                "collection_source":"Manual Analyze",
                "created_at":"2026-05-29T08:14:24.845Z",
                "column_statistics":{
                  "cust_id":{"min":"100","max":"200","distinct_count":2,"num_nulls":0,
                             "avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false},
                  "name":   {"min":"Jane","max":"Mike","distinct_count":2,"num_nulls":0,
                             "avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false}}}}

-- All atomic top-level columns. STRUCT, ARRAY, and MAP columns are skipped.
> SHOW STATISTICS FROM customer FOR ALL COLUMNS AS JSON;