Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Hibernasi kueri sql berparameter, sesi Oracle lambat dan aktif

Saya tidak tahu apakah ini masalah Anda, tetapi Oracle mengintip nilai variabel bind saat mem-parsing kueri dan kemudian menyimpan rencana kueri untuk eksekusi di masa mendatang sehingga tidak harus terus mengurai kueri setiap kali dijalankan dengan yang baru set variabel mengikat. Tetapi sesekali kueri diurai ulang. Jika beberapa nilai variabel pengikatan yang tidak biasa dilewatkan selama penguraian, maka rencana yang buruk disimpan dan digunakan. Ini adalah semacam kutukan dari variabel bind. Mereka mengurangi penguraian tetapi dapat membalikkan rencana pada nilai variabel pengikatan yang tidak biasa ketika kueri diuraikan lagi. Petunjuk dapat membantu. Kami menggunakan Profil SQL untuk mengunci paket kueri dengan variabel ikat yang cenderung mengubah paket. Terkadang Anda dapat menyesuaikan kapan dan bagaimana statistik pengoptimal dikumpulkan sehingga rencana yang baik dibuat terlepas dari nilai apa yang diteruskan ke variabel pengikat.

Bagaimanapun, itu adalah sesuatu yang saya lihat sepanjang waktu dan mungkin atau mungkin bukan masalah Anda.

Bobby




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menginstal formulir Oracle dan mendapat kesalahan. Tidak dapat meluncurkan penginstal (555)

  2. FLOOR() Fungsi di Oracle

  3. Menemukan nilai terendah dalam tabel yang lebih besar dari nilai tertentu

  4. tangkap pengecualian DB di aplikasi JSF + EJB

  5. beberapa dukungan database untuk kelas JPA yang sama