我在嵌入式H2数据库上有一个长期运行的选择查询,并希望允许用户取消该查询。
如何才能做到这一点?我对此一无所获。
[更新]更具体地说,我正在使用JPA运行查询。如何停止查询?
H2支持查询超时设置。您可以在数据库URL中进行如下设置:jdbc:h2:~/db/test;query_timeout=10000。(也许这不是适合您的方法,但对于其他阅读此问题的人来说可能是正确的。)
jdbc:h2:~/db/test;query_timeout=10000
您还可以使用cancel_session函数取消在另一个连接(会话)中运行的查询。但是为此,您需要启用多线程模式,目前不建议将其用于生产环境(在1.3.175版中仍处于试验阶段)。
cancel_session