Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MENGANALISA
Memperbarui statistik tabel untuk digunakan oleh perencana kueri.
Hak istimewa yang diperlukan
Berikut ini adalah hak istimewa yang diperlukan untuk ANALYZE:
-
Superuser
-
Pengguna dengan hak istimewa ANALYZE
-
Pemilik hubungan
-
Pemilik database kepada siapa tabel dibagikan
Sintaksis
ANALYZE [ VERBOSE ] [ [ table_name [ ( column_name [, ...] ) ] ] [ PREDICATE COLUMNS | ALL COLUMNS ]
Parameter
- BERTELE-TELE
-
Klausa yang mengembalikan pesan informasi kemajuan tentang operasi ANALYZE. 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 skemanya. 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 terhubung saat ini dianalisis, termasuk tabel persisten dalam katalog sistem. Amazon Redshift melewatkan analisis tabel jika persentase baris yang telah berubah sejak ANALYZE terakhir lebih rendah dari ambang analisis. Untuk informasi selengkapnya, lihat Analisis ambang batas.
Anda tidak perlu menganalisis tabel sistem Amazon Redshift (tabel STL dan STV).
- nama_kolom
-
Jika Anda menentukan table_name, Anda juga dapat menentukan satu atau lebih kolom dalam tabel (sebagai daftar yang dipisahkan kolom dalam tanda kurung). Jika daftar kolom ditentukan, hanya kolom yang terdaftar yang dianalisis.
- KOLOM PREDIKAT | SEMUA KOLOM
-
Klausul yang menunjukkan apakah ANALYZE harus menyertakan hanya kolom predikat. Tentukan KOLOM PREDIKAT untuk menganalisis hanya kolom yang telah digunakan sebagai predikat dalam kueri sebelumnya atau kemungkinan kandidat untuk digunakan sebagai predikat. Tentukan SEMUA KOLOM untuk menganalisis semua kolom. Defaultnya adalah ALL COLUMNS.
Sebuah kolom disertakan dalam himpunan kolom predikat jika salah satu dari berikut ini benar:
-
Kolom telah digunakan dalam kueri sebagai bagian dari filter, kondisi gabungan, atau grup demi klausa.
-
Kolom adalah kunci distribusi.
-
Kolom adalah bagian dari kunci pengurutan.
Jika tidak ada kolom yang ditandai sebagai kolom predikat, misalnya karena tabel belum ditanyakan, semua kolom dianalisis bahkan ketika KOLOM PREDIKAT ditentukan. Ketika ini terjadi, Amazon Redshift mungkin merespons dengan pesan seperti
Tidak ada kolom predikat yang ditemukan untuk "”. Untuk informasi selengkapnya tentang kolom predikat, lihatMenganalisis tabel.table-name. Menganalisis semua kolom -
Catatan penggunaan
Amazon Redshift secara otomatis menjalankan ANALYZE pada tabel yang Anda buat dengan perintah berikut:
-
CREATE TABLE AS
-
BUAT TABEL TEMP SEBAGAI
-
PILIH KE
Anda tidak dapat menganalisis tabel eksternal.
Anda tidak perlu menjalankan perintah ANALYZE pada tabel ini ketika mereka pertama kali dibuat. Jika Anda memodifikasinya, Anda harus menganalisisnya dengan cara yang sama seperti tabel lainnya.
Analisis ambang batas
Untuk mengurangi waktu pemrosesan dan meningkatkan kinerja sistem secara keseluruhan, Amazon Redshift melewatkan ANALYZE untuk tabel jika persentase baris yang telah berubah sejak perintah ANALYZE terakhir dijalankan lebih rendah dari ambang analisis yang ditentukan oleh parameter. analisis_ambang_persen 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 jumlah 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 operasi ANALYSIS, kueri tabel STL_ANALISIS sistem.
Untuk informasi selengkapnya tentang menganalisis tabel, lihatMenganalisis tabel.
Contoh
Analisis semua tabel dalam database TICKIT dan mengembalikan informasi kemajuan.
analyze verbose;
Analisis tabel LISTING saja.
analyze listing;
Analisis kolom VENUEID dan VENUENAME di tabel VENUE.
analyze venue(venueid, venuename);
Analisis hanya kolom predikat dalam tabel VENUE.
analyze venue predicate columns;