是否可以阻止 sql 查询的执行?

发布于 2024-12-01 03:10:11 字数 105 浏览 1 评论 0原文

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

I wish to ask if it is possible to stop an sql query during its execution. I wish to do this so that if someone else is executing the same query at the same time, the application would not jam. I am using visual studio c# as front end and oracle 11g as my back end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

七秒鱼° 2024-12-08 03:10:11

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

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

You can wrap the sql query in a pl/sql function and get a lock (with the dbms_lock package) before executing the select statement in the function/procedure (of course you have to release the lock at the end). This way you can serialize the execution of this function.

Another options is to use database jobs.

执着的年纪 2024-12-08 03:10:11

如果出现问题,您正在执行什么查询?最有可能的是,可以对其进行优化以解决您遇到的任何问题。

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

What query are you doing where this is a problem? Most likely that can be optimized to solve whatever issue you're having.

It's not really realistic to do this because for every query that comes in, you'll have to see if someone else is already running it first. That's going to create a lot of overhead and complexity in the system.

段念尘 2024-12-08 03:10:11

好吧,你绝对可以杀死查询query_id。要测试打开控制台 mysql -u root -p,执行长查询并 ctrl + c ;)但是,我想不出使用它的任何实际方法,跟踪您可能想要杀死的查询等,但是如果您真的需要的话拯救世界,你可能会成功

well definitely you can KILL QUERY query_id. To test open console mysql -u root -p, perform a long query and ctrl + c ;) but well, I cannot think of any practial way of using it, tracking queries you could potentialy want to kill etc. however if you really needed it to save the world, you will probably succeed

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文