

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

# Menggunakan Spark pengoptimal berbasis biaya
<a name="using-the-spark-cbo"></a>

Sparkversi 2.09 dan yang lebih baru dapat menggunakan pengoptimal berbasis biaya (CBO). CBO memilih rencana eksekusi termurah untuk kueri berdasarkan berbagai statistik tabel. CBO mencoba mengoptimalkan eksekusi kueri sehubungan dengan pemanfaatan CPU dan I/O, dengan demikian kembali secepat mungkin. Namun, dalam banyak kasus, statistik data umumnya tidak ada, terutama ketika pengumpulan statistik bahkan lebih mahal daripada pemrosesan data. Bahkan jika statistik tersedia, mereka kemungkinan sudah ketinggalan zaman. Berikut ini adalah praktik terbaik untuk menggunakan CBO:
+ Kumpulkan statistik pada semua kolom yang digunakan dalam operasi seperti gabungan, filter, dan grup bys. Ini membantu pengoptimal membuat keputusan yang lebih baik. Gunakan `ANALYZE TABLE` untuk mengumpulkan statistik.
+ Tingkatkan frekuensi pengumpulan statistik jika data berubah dengan cepat. Statistik usang dapat menghasilkan rencana yang tidak dioptimalkan.
+ Mulailah dengan parameter CBO default dan setel hanya jika diperlukan. Pengoptimalan agresif dapat meningkatkan runtime.
+ Verifikasi apakah CBO memilih rencana optimal dengan memaksa rencana yang dioptimalkan dan membandingkan kinerjanya. Aktifkan logging pengoptimal untuk membandingkan paket.
+ Untuk pengoptimalan yang lebih baik, gunakan CBO dalam kombinasi dengan petunjuk partisi, bucketing, dan kemiringan data. Partisi dapat membantu CBO untuk menskalakan.
+ Untuk mendeteksi regresi rencana lebih awal, terus memantau kinerja kueri setelah mengaktifkan CBO.