Postgres Jelaskan Biaya

Postgres Jelaskan Biaya



Postgres adalah sistem basis data relasional sumber terbuka yang kuat dan banyak digunakan dengan reputasi kuat untuk ketahanan, fungsionalitas, dan kinerjanya.

Salah satu alat yang membuat Postgres sangat kuat dalam performa adalah perintah EXPLAIN yang menyediakan detail tentang rencana eksekusi kueri SQL.

Apa Itu Perintah JELASKAN?

Perintah EXPLAIN menampilkan rencana eksekusi yang dibuat oleh perencana PostgreSQL untuk pernyataan SQL yang diberikan.







Ini mencakup informasi tentang perkiraan biaya untuk melakukan setiap langkah kueri. Dengan memeriksa biaya ini, kami dapat memahami mengapa kueri berjalan lambat dan cara mengoptimalkannya.



PostgreSQL Jelaskan Biaya

Kami terutama menggunakan perintah JELASKAN untuk mengambil informasi tentang kueri yang diberikan. Perintah menampilkan beberapa informasi tentang kueri.



Ambil contoh kueri yang ditampilkan berikut ini:





PILIH f.title, c.name
DARI film f
GABUNG film_category fc ON f.film_id = fc.film_id
GABUNG kategori c ON fc.category_id = c.category_id;

Jika kita menjalankan perintah explain pada simple join sebelumnya:

JELAS PILIH f.title, c.name
DARI film f
GABUNG film_category fc ON f.film_id = fc.film_id
GABUNG kategori c ON fc.category_id = c.category_id;

Kita harus mendapatkan output seperti yang ditunjukkan berikut ini:



Anda mungkin memperhatikan bahwa untuk setiap langkah kueri, PostgreSQL mengembalikan perkiraan biaya kueri tersebut.

  1. startup_cost – Ini menunjukkan perkiraan biaya untuk menginisialisasi operasi sebelum dapat mulai mengeluarkan baris.
  2. total_cost – Total biaya untuk mengambil semua baris.
  3. Baris – Ini menentukan perkiraan jumlah baris yang dikembalikan oleh kueri.
  4. Lebar – Ini menentukan jumlah rata-rata byte dari semua baris yang dikembalikan oleh operasi.

Biaya kueri di PostgreSQL dilambangkan dalam unit arbitrer yang ditentukan oleh parameter biaya yang diatur dalam konfigurasi server.

Kunci dari parameter ini adalah seq_page_cost yang menetapkan biaya pengambilan halaman disk yang tidak ada dalam cache.

Jika Anda menggunakan pgAdmin, Anda dapat menggunakan fitur 'jelaskan analisis' untuk mendapatkan diagram yang lebih mudah dibaca dan disajikan dengan baik untuk perintah jelaskan. Misalnya:

Anda kemudian dapat mengklik setiap langkah untuk melihat statistik dan perkiraan biaya.

Mengoptimalkan Kueri Berdasarkan Biaya

Saat mengoptimalkan kueri Anda, penting untuk dipahami bahwa biaya yang lebih rendah biasanya berarti eksekusi yang lebih cepat. Oleh karena itu, Anda dapat mengubah kueri dengan biaya lebih rendah.
Berikut adalah beberapa faktor yang perlu dipertimbangkan:

Gunakan Indeks tabel – Indeks secara signifikan mengurangi biaya kueri berbasis pencarian dengan mempertahankan struktur data yang memungkinkan pencarian lebih cepat.

Gunakan Fungsi dan Operator dengan bijak – Estimasi biaya untuk fungsi dan operator tidak selalu akurat, karena biaya aktual dapat sangat bergantung pada data tertentu. Oleh karena itu, batasi penggunaan fungsi dan operator kompleks seminimal mungkin.

Kesimpulan

Kami menjelajahi konsep biaya dalam perintah PostgreSQL ANALYZE. Kami membahas apa arti keluaran perintah dan cara menggunakan keluaran biaya untuk menganalisis cara paling efisien untuk menjalankan kueri tertentu.