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

Cara menonaktifkan semua optimasi PostgreSQL

Anda tidak bisa.

Perencana kueri PostgreSQL tidak memiliki tanda "matikan pengoptimalan".

Akan menarik untuk ditambahkan, tetapi akan membuat pengujian regresi menjadi jauh lebih kompleks, dan kegunaannya sangat terbatas.

Untuk melakukan apa yang Anda inginkan, saya pikir Anda ingin memodifikasi kode perencana kueri, mengkompilasi ulang, dan menginstal ulang PostgreSQL untuk setiap pengujian. Atau retas untuk menambahkan sekelompok GUC khusus (variabel sistem, seperti enable_seqscan ) untuk mengaktifkan dan menonaktifkan pengoptimalan tertentu.

Saya ragu tambalan semacam itu akan diterima di PostgreSQL, tetapi itu layak dilakukan sebagai sekali pakai.

Satu-satunya tantangan adalah PostgreSQL tidak membedakan secara tegas antara "optimasi" dan "hal yang kami lakukan untuk mengeksekusi kueri". Terkadang bagian dari kode perencana harapkan dan memerlukan bahwa pengoptimalan tertentu telah diterapkan agar berfungsi dengan benar.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menambahkan kunci asing ke model Rails

  2. Mengapa Postgres tidak menggunakan indeks?

  3. Apakah mungkin untuk Menghitung dengan kondisi yang berbeda dalam satu permintaan?

  4. Hibernate tidak membuat Tabel di database

  5. Bagaimana cara memeriksa peran pengguna PostgreSQL saat ini dari aplikasi Qt?