Oracle
 sql >> база данни >  >> RDS >> Oracle

лоша производителност при избор на хибернация в сравнение с директното изпълнение - как да отстраните грешки?

Благодаря на всички за помощта. След дълго време на борба с този проблем, най-накрая отговорът на 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 *



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на грешка ORA - 00907 за следното при АКТУАЛИЗИРАНЕ

  2. Как да напиша скрипт за вмъкване на оракул с едно поле като CLOB?

  3. Вмъкнете CLOB в базата данни на Oracle

  4. Дата на Oracle между заявката

  5. Оракул. Как да изведем дата и час?