是否可以停止执行sql查询?

时间:2011-08-23 12:53:44

标签: c# asp.net oracle oracle10g oracle11g

我想询问是否可以在执行期间停止sql查询。我希望这样做,以便如果其他人同时执行相同的查询,应用程序不会堵塞。我使用visual studio c#作为前端,oracle 11g作为我的后端

3 个答案:

答案 0 :(得分:2)

你可以在pl / sql函数中包装sql查询并获得一个锁(使用dbms_lock包),然后在函数/过程中执行select语句(当然你必须在最后释放锁)。这样您就可以序列化此函数的执行。

另一种选择是使用数据库作业。

答案 1 :(得分:1)

如果这是一个问题,你在做什么查询?最有可能的是,可以优化以解决您遇到的任何问题。

这样做并不现实,因为对于每个进入的查询,您都必须先查看其他人是否已经在运行它。这将在系统中产生大量开销和复杂性。

答案 2 :(得分:0)

你肯定可以KILL QUERY query_id。要测试打开控制台mysql -u root -p,执行一个长查询和ctrl + c;)但是,好吧,我想不出任何实用的方法来使用它,跟踪你可能潜在想要杀死的查询等等。但是如果你真的需要为了拯救世界,你可能会成功

相关问题