【问题标题】:Different Stored Procedures run parallel?不同的存储过程并行运行?
【发布时间】:2022-01-20 08:13:41
【问题描述】:

我创建了两个具有不同功能的程序(第一个和第二个)。但这两个程序将数据插入到一个表中。如果我有两个应用程序用户,第一个用户运行第一个程序,第二个用户运行第二个程序。我想知道这两个过程是否会并行运行。

【问题讨论】:

  • 不同的应用程序 => 不同的连接 => 并行执行。

标签: mysql stored-procedures


【解决方案1】:

简短回答:写入同一张表的存储过程可以并行运行。

您必须注意某些条件才能无缝执行。

为了弄清楚这一点,我们需要了解 DBMS 中的 transactions

您在数据库中执行的每个操作都经过一个事务。事务将尝试获取它正在尝试进行更改的资源的锁定。当另一个进程也对具有打开事务的同一资源发出锁定请求时,将发生Deadlock。为避免这种情况,我们需要更改 DBMS isolation

如果您同时从 2 个不同点更新(软删除)或删除(硬删除)同一张表中的记录,您的进程可能会导致死锁,但普通插入不会面临大多数数据库设置中的任何问题。

如果您觉得这个答案有帮助,请投票。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多