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

miskin Hibernate pilih kinerja dibandingkan dengan menjalankan secara langsung - bagaimana debug?

Terima kasih semua atas bantuannya. Setelah lama berjuang dengan masalah itu, akhirnya jawaban kaliatech membantu saya untuk men-debug masalah tersebut.

Pertama-tama, saya telah membuat kesalahan besar dalam pertanyaan saya. Saya menulis bahwa:

Menjalankan kueri ini dengan database lokal sangat cepat, tetapi menggunakannya dari jarak jauh sangatlah buruk.

Karena tidak sepenuhnya benar. Kueri yang saya lakukan di Hibernate terlihat seperti yang di atas:

select s.* from sales_unit s left join sales_unit_relation r on (s.sales_unit_id = r.sales_unit_child_id) where r.sales_unit_child_id is null

Tetapi kueri aktual yang saya lakukan dengan SQL PLus atau Navicat misalnya adalah:

select * from sales_unit s left join sales_unit_relation r on (s.sales_unit_id = r.sales_unit_child_id) where r.sales_unit_child_id is null

Harap perhatikan bahwa pemilihan kueri pertama dimulai:select s.* ... dan yang kedua adalah select * ... . Dan itulah alasan kinerja yang buruk. Sekarang kedua pertanyaan selesai dalam waktu singkat. Pertanyaannya adalah, apa bedanya:masalah kinerja:perbedaan antara pilih s.* vs pilih *



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya harus menyimpan GUID di Oracle?

  2. Kembalikan hasil kueri sql sebagai JSON di Oracle 12c

  3. Dapatkan ID catatan yang terakhir dimasukkan di Oracle db

  4. Menggunakan TUPLES untuk menempatkan lebih dari 1000 entri dalam klausa SQL IN

  5. Memberikan Hak atas Prosedur Tersimpan kepada pengguna Oracle lainnya