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”
. Untuk informasi selengkapnya tentang kolom predikat, lihatMenganalisis tabel.table-name
“. Menganalisis semua kolom -
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_percent
Untuk 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;