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

Tidak ada caching rencana eksekusi untuk SQL dinamis di PostgreSQL 9.4?

Per dokumentasi:

Itu fitur yang masuk akal . Sifat kueri dinamis adalah ia mengubah strukturnya dari panggilan ke panggilan.

Jika Anda ingin memanggil kueri yang sama berulang kali (opsional dengan parameter yang berbeda), gunakan pernyataan yang disiapkan :

Atau gunakan kode SQL biasa (non-dinamis) di dalam fungsi plpgsql, yang juga diperlakukan seperti pernyataan yang disiapkan.

Dalam kasus Anda , mungkin sebaiknya PREPARE query secara dinamis. Kami memiliki kasus yang sangat mirip di sini:

Juga, sangat tidak umum bahwa kueri menghabiskan 1,4 detik untuk perencanaan dan hanya 0,1 detik untuk eksekusi. Mungkin layak untuk dilihat. Mungkin ada cara untuk mengoptimalkan. Suka dengan join_collapse_limit :

Terkait:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan Hari Pertama Bulan Ini di PostgreSQL

  2. PL/Perl mengirim email di Postgresql

  3. Simpan dan ambil gambar di Postgresql menggunakan Java

  4. PostgreSQL dan nodejs/pg, kembalikan JSON bersarang

  5. Dapatkan jumlah agregat array json dalam data json Postgres NOSQL