Saya ingin mengumpulkan statistik tentang kueri menjalankan tertinggi di database saya.
Untuk itu saya perlu tahu bagaimana saya bisa melacak permintaan sehingga saya bisa membuat tampilan atau tampilan terwujud untuk men-cache hasil permintaan pencarian tertinggi karena saya memiliki DB besar.
postgresql
view
materialized-view
Nyonyaaye
sumber
sumber
Jawaban:
Seperti yang dikatakan seseorang di komentar, pg_stat_statements adalah cara untuk mendapatkan statistik. Masukkan ini ke Anda
postgresql.conf
:Kemudian jalankan kueri ini:
Setelah itu, kueri sampel ini (disalin dari dokumen yang ditautkan di atas) akan memberi Anda statistik untuk 5 kueri teratas dari semua database :
Jika Anda ingin hasil untuk satu basis data , Anda perlu memfilter
dbid
yang dapat Anda peroleh daripg_database
nama db. Tambahkan klausa WHERE ini ke permintaan di atas:Anda juga bisa bergabung.
Saat Anda menguji ini, mungkin ide yang bagus untuk mengecualikan kueri ke tabel statistik / skema sendiri, misalnya:
Ada banyak alat komersial dan gratis yang dapat membantu Anda memvisualisasikan data.
sumber