View a markdown version of this page

Menganalisis rencana kueri - Amazon Redshift

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 yang diterbitkan pada 30 Juni 2025.

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

Menganalisis rencana kueri

Jalan EXPLAIN kan perintah untuk mendapatkan rencana kueri.

Sebelum menganalisis rencana kueri, Anda harus terbiasa dengan cara membacanya. Jika Anda tidak terbiasa membaca rencana kueri, kami sarankan Anda membaca Membuat dan menafsirkan rencana kueri sebelum melanjutkan.

Untuk menganalisis data yang disediakan oleh rencana kueri, ikuti langkah-langkah berikut:

  1. Identifikasi langkah-langkah dengan biaya tertinggi. Berkonsentrasilah untuk mengoptimalkannya saat melanjutkan melalui langkah-langkah yang tersisa.

  2. Lihatlah jenis gabungannya:

    • Loop Bersar ang: Gabungan seperti itu biasanya terjadi karena kondisi gabungan dihilangkan. Untuk solusi yang disarankan, lihatLoop Bersarang.

    • Hash dan Hash Join: Gabungan hash digunakan saat menggabungkan tabel di mana kolom gabungan bukan kunci distribusi dan juga bukan kunci pengurutan. Untuk solusi yang disarankan, lihatGabung hash.

    • Gabungkan Gabung: Tidak diperlukan perubahan.

  3. Perhatikan tabel mana yang digunakan untuk sambungan dalam, dan mana untuk gabungan luar. Mesin kueri umumnya memilih tabel yang lebih kecil untuk gabungan dalam, dan tabel yang lebih besar untuk gabungan luar. Jika pilihan seperti itu tidak terjadi, statistik Anda kemungkinan sudah ketinggalan zaman. Untuk solusi yang disarankan, lihatStatistik tabel hilang atau kedaluwarsa.

  4. Lihat apakah ada operasi pengurutan berbiaya tinggi. Jika ada, lihat Baris yang tidak disortir atau salah disortir solusi yang disarankan.

  5. Cari operator siaran berikut di mana ada operasi berbiaya tinggi:

    • DS_BCAST_INNER: Menunjukkan bahwa tabel disiarkan ke semua node komputasi. Ini bagus untuk meja kecil, tetapi tidak ideal untuk meja yang lebih besar.

    • DS_DIST_ALL_INNER: Menunjukkan bahwa semua beban kerja ada pada satu irisan.

    • DS_DIST_BOTH: Menunjukkan redistribusi berat.

    Untuk solusi yang direkomendasikan untuk situasi ini, lihatDistribusi data yang kurang optimal.