Благодаря на всички за помощта. След дълго време на борба с този проблем, най-накрая отговорът на kaliatech ми помогна да отстраня проблема.
Първо, направих ужасна грешка във въпроса си. Написах това:
Изпълнението на тази заявка с локална база данни е наистина бързо, но използването й от разстояние е наистина лошо.
Тъй като не е напълно вярно. Заявката, която направих в Hibernate, изглежда като тази нагоре:
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
Но действителната заявка, която направих с SQL PLus или Navicat например беше:
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
Моля, обърнете внимание, че първата заявка select започва:select s.* ...
а вторият е select * ...
. И това беше причината за толкова лошо представяне. Сега и двете заявки са завършени за нула време. Въпросът е каква е разликата:проблем с производителността:разлика между select s.* срещу select *