在 SQL 开发人员中手动停止 oracle SQL 查询的问题

issue for manually stopping an oracle SQL query in SQL Developer

出于好奇,如果我通过处理 Oracle SQL 像下面这样的开发人员,假设查询是一个非常重负载的查询,通常需要几分钟才能 运行.

查询只是一个非常普通的 select 语句,如下所示:

-- 从繁忙的生产数据库中获取 3 年的数据

select 
    <something>
from
    Table1@ProductionDB T1
    left join Table2@ProductionDB T2 on
       T2.colA = T1.ColA
    left join Table3@ProductionDB T3 on
       T3.Col1B = T2.ColB
where
  T3.date between to_date('01-JAN-2017','dd-MON-YYYY') and to_date('01-JAN-2020','dd-MON-YYYY')

远程数据库是一个繁忙的生产数据库,它连接到数千个客户端,并且每秒通过应用程序服务器与数据库进行 in/out 通信。如果用户从 Oracle SQL Developer 手动终止查询,是否会对远程数据库造成任何问题,例如 Oracle 内存管理或其他问题。

提前致谢!

我认为远程数据库将被释放,因为不再需要某些资源。

不过,由于您没有 post 整个查询,只是问:如果这些表是通过数据库 link 访问的,您是否尝试使用 driving_site 提示?也许它会帮助查询执行更快。像

select /*+ driving_site (t1) */
  <something>
from ...