PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mengumpulkan kumpulan statistik besar dengan pg_stat_statements?

1.

dari apa yang saya baca, ia meng-hash kueri dan menyimpannya di DB, menyimpan teks ke FS. Jadi perhatian berikutnya lebih diharapkan daripada memori bersama yang kelebihan beban:

hash teks jauh lebih kecil daripada teks, sehingga saya pikir Anda tidak perlu khawatir tentang konsumsi memori ekstensi yang membandingkan kueri yang panjang. Terutama mengetahui bahwa ekstensi menggunakan Penganalisis Kueri (yang akan berfungsi untuk SETIAP kueri APA SAJA ):

Menyetel pg_stat_statements.max 10 kali lebih besar harus mengambil 10 kali lebih banyak memori bersama saya percaya. Pertumbuhan harus linier . Tidak disebutkan dalam dokumentasi , tetapi secara logika seharusnya begitu.

Tidak ada jawaban apakah aman atau tidak untuk mengatur pengaturan ke nilai yang berbeda, karena tidak ada data pada nilai konfigurasi lain dan HW yang Anda miliki. Tetapi karena pertumbuhan harus linier, pertimbangkan jawaban ini:"jika Anda menyetelnya ke 5K, dan runtime kueri hampir tidak berkembang, maka menyetelnya ke 50K akan memperpanjangnya hampir tidak ada kali sepuluh". BTW, pertanyaan saya - siapa yang akan menggali 50000 pernyataan lambat? :)

2.

Ekstensi ini sudah membuat pra-agregasi untuk pernyataan "tidak dihargai". Anda dapat memilihnya langsung di DB, jadi memindahkan data ke db lain dan memilihnya di sana hanya akan memberi Anda manfaat dari membongkar DB asli dan memuat yang lain. Dengan kata lain, Anda menghemat 50MB untuk kueri asli, tetapi membelanjakan yang sama untuk kueri lain. Apakah masuk akal? Bagi saya - ya. Inilah yang saya lakukan sendiri. Tetapi saya juga menyimpan rencana eksekusi untuk pernyataan (yang bukan merupakan bagian dari ekstensi pg_stat_statements). Saya percaya itu tergantung pada apa yang Anda miliki dan apa yang Anda miliki. Jelas tidak perlu untuk itu hanya karena sejumlah pertanyaan. Sekali lagi kecuali Anda memiliki file yang sangat besar sehingga ekstensi dapat




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencoba mengatur postgres di OSX

  2. Bagaimana current_timestamp() Bekerja di PostgreSQL

  3. Peningkatan otomatis pada kunci primer parsial dengan Entity Framework Core

  4. Deteksi bahasa dengan data di PostgreSQL

  5. Permintaan rekursif postgres dengan row_to_json