Sebelumnya hari ini, saya bekerja dengan pengembang pada kueri yang memiliki kinerja buruk. Kueri ini besar dan kompleks, dan awalnya tampak seperti upaya yang menakutkan untuk mencari tahu di mana letak masalah kinerjanya. Dengan Explain Plan, terkadang kami dapat menggunakan biaya untuk membantu mempersempit titik kesulitan kinerja dari kueri yang besar dan kompleks.
Melihat Rencana Penjelasan dari kueri ini, kita dapat melihat bahwa biaya keseluruhannya cukup tinggi.
Saat melihat detailnya, kita dapat melihat bahwa pemindaian tabel LENGKAP (FTS) pada tabel DETAIL_RECORD memiliki biaya tinggi 51018. Perhatikan bagaimana tingginya biaya FTS menyebar ke rencana. Semua operasi di atas FTS ini memiliki biaya tinggi karena tingginya biaya akses tabel tunggal ini. Mengakses tabel CIMS_POLICIES_TO_PROCESS memiliki biaya yang relatif rendah, tetapi operasi HASH JOIN menerima biaya tinggi hanya karena tingginya biaya untuk mengakses tabel DETAIL_RECORD.
Biaya keseluruhan hanya sedikit lebih dari biaya untuk mengakses tabel ini. Jelas bahwa FTS pada tabel ini merupakan kontributor terbesar pada titik kesulitan dari kueri yang dianalisis.
Dengan melihat biaya Explain Plan dengan cara ini, kami dapat dengan cepat fokus pada satu area kueri yang sangat kompleks yang menyebabkan kinerja paling buruk. Tanpa analisis biaya yang dilakukan di sini, menentukan bagian mana dari kueri di bawah ini yang menyebabkan masalah akan membutuhkan banyak pekerjaan.