sql >> Database >  >> RDS >> Oracle

slechte Hibernate select-prestaties vergeleken met direct uitvoeren - hoe debuggen?

Bedankt allemaal voor de hulp. Na een lange tijd worstelen met dat probleem, heeft het antwoord van kaliatech me eindelijk geholpen om het probleem op te lossen.

Allereerst heb ik een vreselijke fout gemaakt in mijn vraag. Ik schreef dat:

Het uitvoeren van deze query met de lokale database is erg snel, maar het op afstand gebruiken is echt slecht.

Aangezien het niet helemaal waar is. De query die ik deed in Hibernate ziet eruit als die hierboven:

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

Maar de eigenlijke vraag die ik deed met bijvoorbeeld SQL PLus of Navicat was:

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

Merk op dat de eerste selectie van de zoekopdracht start:select s.* ... en de tweede is select * ... . En dat was de reden van zo'n slechte prestatie. Nu zijn beide zoekopdrachten in een mum van tijd voltooid. De vraag is, wat is het verschil:prestatieprobleem:verschil tussen select s.* vs select *



  1. Hoe de prestaties voor bulk-INSERT's naar ODBC-gekoppelde tabellen in Access te verbeteren?

  2. Hoe kan ik meerdere voorwaarden invoeren in de LIKE-operator?

  3. BadImageFormatException. Dit gebeurt bij het uitvoeren in 64-bits modus met de 32-bits Oracle-clientcomponenten geïnstalleerd

  4. Controleer of kolomtekenreeks in database een subtekenreeks is van een query in sqlite