【发布时间】:2013-07-24 10:16:56
【问题描述】:
我有一个通过 Select 语句查询 Oracle 数据库的后台线程。该语句正在填充一个 ResultSet Java 对象。如果查询返回很多行,则 ResultSet 对象可能会变得非常大。如果它太大,我想同时取消后台线程,但更重要的是我想取消创建 ResultSet 对象并占用大量 Java 内存的线程。
从我目前在网上阅读的内容来看,java.sql.Statement cancel() 似乎是完成这项工作的最佳方式,有人可以确认吗?有没有更好的办法?
java.sql.Statement close() 也可以,我可能会捕获 ExhaustedResultset 异常,但可能不安全。
为了澄清,我不想要 ResultSet 或线程 - 我想从内存中完全丢弃两者。
【问题讨论】:
标签: oracle