Monetdb查询取消

时间:2017-02-21 12:46:01

标签: java jdbc monetdb

我通过JDBC驱动程序在java应用程序中使用Monetdb。 我需要取消长时间运行的查询或不再相关的查询。 由于monetdb JDBC驱动程序不支持jdbc语句取消,因此我已按照此处所述实现了我的查询取消机制: https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/monitor

首先,我检索要取消的查询的qtag,然后执行命令call sys.stop(<qtag>)

我通过查询

监控了活动查询的队列

select * from sys.queue()

我看到许多被取消的查询都处于stopping状态,并且它们会在那里停留很长时间(远远超过查询完成所需的时间),并且可能永远存在,从而阻止执行真正的查询它似乎。 关闭JDBC连接会在此停止状态下清除这些查询:我知道当您取消查询时,您无法中断当前执行的MAL操作,但我不明白这个stopping状态的含义,以及为什么取消查询会在那里待很长时间。 难道我做错了什么 ?为什么关闭jdbc连接会删除stopping状态下的所有这些查询?如何在不影响monetdb服务器的情况下有效取消查询。

0 个答案:

没有答案