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 *