sql >> Database teknologi >  >> RDS >> Oracle

dårlig Hibernate vælg ydeevne sammenlignet med at køre direkte - hvordan fejlfindes?

Tak til jer alle for hjælpen. Efter lang tids kæmpelse med det problem hjalp kaliatech-svaret mig endelig med at fejlfinde problemet.

Først og fremmest har jeg lavet en frygtelig fejl i mit spørgsmål. Jeg skrev at:

At køre denne forespørgsel med lokal database er virkelig hurtigt, men at bruge den eksternt er virkelig dårlig.

Da det ikke er helt rigtigt. Forespørgslen, som jeg lavede i Hibernate, ligner den op:

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

Men den faktiske forespørgsel, som jeg lavede med SQL PLus eller Navicat for eksempel var:

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

Bemærk venligst, at det første valg af forespørgsel starter:select s.* ... og den anden er select * ... . Og det var årsagen til så dårlig præstation. Nu er begge forespørgsler afsluttet på ingen tid. Spørgsmålet er, hvad forskellen er:præstationsproblem:forskel mellem select s.* vs select *



  1. TSQL - Tilføj kolonne til alle tabeller i en database [ Markøreksempel]

  2. Postgres adgangskodegodkendelse mislykkes

  3. Tally Tabel for at indsætte manglende datoer mellem to datoer? SQL

  4. Installer PostgreSQL på Ubuntu 20.04