ANALYZE - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

ANALYZE

Memperbarui statistik tabel untuk digunakan oleh perencana kueri.

Hak istimewa yang diperlukan

Berikut ini adalah hak istimewa yang diperlukan untukANALYZE:

  • Superuser

  • Pengguna dengan hak ANALYZE istimewa

  • Pemilik relasi

  • Pemilik basis data yang tabel dibagikan

Sintaks

ANALYZE [ VERBOSE ] [ [ table_name [ ( column_name [, ...] ) ] ] [ PREDICATE COLUMNS | ALL COLUMNS ]

Parameter

VERBOSE

Klausa yang mengembalikan pesan informasi kemajuan tentang ANALYZE operasi. Opsi ini berguna ketika Anda tidak menentukan tabel.

table_name

Anda dapat menganalisis tabel tertentu, termasuk tabel sementara. Anda dapat memenuhi syarat tabel dengan nama skema. Anda dapat secara opsional menentukan table_name untuk menganalisis satu tabel. Anda tidak dapat menentukan lebih dari satu table_name dengan pernyataan ANALYZE table_name tunggal. Jika Anda tidak menentukan nilai table_name, semua tabel dalam database yang saat ini terhubung akan dianalisis, termasuk tabel persisten dalam katalog sistem. Amazon Redshift melewatkan menganalisis tabel jika persentase baris yang telah berubah sejak yang terakhir ANALYZE lebih rendah dari ambang analisis. Untuk informasi selengkapnya, lihat Menganalisis ambang batas.

Anda tidak perlu menganalisis tabel sistem Amazon Redshift (STLdan STV tabel).

column_name

Jika Anda menentukan table_name, Anda juga dapat menentukan satu atau beberapa kolom dalam tabel (sebagai daftar yang dipisahkan kolom dalam tanda kurung). Jika daftar kolom ditentukan, hanya kolom yang terdaftar yang dianalisis.

PREDICATE COLUMNS | ALL COLUMNS

Klausa yang menunjukkan apakah ANALYZE harus menyertakan hanya kolom predikat. Tentukan PREDICATE COLUMNS untuk menganalisis hanya kolom yang telah digunakan sebagai predikat dalam kueri sebelumnya atau kemungkinan kandidat untuk digunakan sebagai predikat. Tentukan ALL COLUMNS untuk menganalisis semua kolom. Defaultnya adalah ALLCOLUMNS.

Kolom disertakan dalam kumpulan kolom predikat jika salah satu dari berikut ini benar:

  • Kolom telah digunakan dalam kueri sebagai bagian dari filter, kondisi gabungan, atau kelompok demi klausa.

  • Kolom adalah kunci distribusi.

  • Kolom adalah bagian dari kunci sortir.

Jika tidak ada kolom yang ditandai sebagai kolom predikat, misalnya karena tabel belum ditanyakan, semua kolom dianalisis bahkan ketika PREDICATE COLUMNS ditentukan. Ketika ini terjadi, Amazon Redshift mungkin merespons dengan pesan seperti Tidak ada kolom predikat yang ditemukan untuk”table-name“. Menganalisis semua kolom. Untuk informasi selengkapnya tentang kolom predikat, lihatMenganalisis tabel.

Catatan penggunaan

Amazon Redshift secara otomatis berjalan ANALYZE pada tabel yang Anda buat dengan perintah berikut:

  • CREATETABLESEBAGAI

  • CREATETEMPTABLESEBAGAI

  • SELECT INTO

Anda tidak dapat menganalisis tabel eksternal.

Anda tidak perlu menjalankan ANALYZE perintah pada tabel ini saat pertama kali dibuat. Jika Anda memodifikasinya, Anda harus menganalisisnya dengan cara yang sama seperti tabel lainnya.

Menganalisis ambang batas

Untuk mengurangi waktu pemrosesan dan meningkatkan kinerja sistem secara keseluruhan, Amazon Redshift melompati ANALYZE tabel jika persentase baris yang telah berubah sejak ANALYZE perintah terakhir dijalankan lebih rendah dari ambang analisis yang ditentukan oleh parameter. analyze_threshold_percent Secara default, analyze_threshold_percent adalah 10. analyze_threshold_percentUntuk mengubah sesi saat ini, jalankan SET perintah. Contoh berikut berubah analyze_threshold_percent menjadi 20 persen.

set analyze_threshold_percent to 20;

Untuk menganalisis tabel ketika hanya sejumlah kecil baris telah berubah, atur analyze_threshold_percent ke angka kecil yang sewenang-wenang. Misalnya, jika Anda mengatur analyze_threshold_percent ke 0,01, maka tabel dengan 100.000.000 baris tidak dilewati jika setidaknya 10.000 baris telah berubah.

set analyze_threshold_percent to 0.01;

Jika ANALYZE melewatkan tabel karena tidak memenuhi ambang analisis, Amazon Redshift mengembalikan pesan berikut.

ANALYZE SKIP

Untuk menganalisis semua tabel meskipun tidak ada baris yang berubah, atur analyze_threshold_percent ke 0.

Untuk melihat hasil ANALYZE operasi, kueri tabel STL_ANALYZE sistem.

Untuk informasi selengkapnya tentang menganalisis tabel, lihatMenganalisis tabel.

Contoh

Menganalisis semua tabel dalam TICKIT database dan mengembalikan informasi kemajuan.

analyze verbose;

Analisis LISTING tabel saja.

analyze listing;

Analisis VENUEID dan VENUENAME kolom dalam VENUE tabel.

analyze venue(venueid, venuename);

Analisis hanya kolom predikat dalam VENUE tabel.

analyze venue predicate columns;