gpt4 book ai didi

SQL Server (TSQL) - 是否可以并行执行语句?

转载 作者:行者123 更新时间:2023-12-02 07:27:53 27 4
gpt4 key购买 nike

SQL Server 2008 R2

这是一个简化的示例:

EXECUTE sp_executesql N'PRINT ''1st '' + convert(varchar, getdate(), 126) WAITFOR DELAY ''000:00:10'''
EXECUTE sp_executesql N'PRINT ''2nd '' + convert(varchar, getdate(), 126)'

第一个语句将打印日期并延迟 10 秒后再继续。第二条语句应立即打印。

T-SQL 的工作方式是,在第一个语句完成之前不会计算第二个语句。如果我将其复制并粘贴到新的查询窗口,它将立即执行。

问题是我还有其他更复杂的事情正在发生,其中的变量需要传递给两个过程。

我想做的是:

  • 获取记录
  • 锁定一段时间
  • 当它被锁定时,针对该记录和表本身执行一些其他语句

也许有一种方法可以动态创建几个作业?

无论如何,我正在寻找一种简单的方法来执行此操作,而无需手动打印语句并将其复制/粘贴到另一个 session 。

有没有办法无需等待/并行执行?

最佳答案

是的,有办法,见Asynchronous procedure execution .

但是,这很可能不是您所需要的。 T-SQL 是一种数据访问语言,当您考虑事务、锁定和提交/回滚语义时,并行作业几乎不可能。并行 T-SQL 可以与 requests queues 一起使用。 ,其中每个请求都是独立的,并且作业之间没有相关性。

您所描述的内容听起来根本不像可以、也不应该实际并行化的东西。

关于SQL Server (TSQL) - 是否可以并行执行语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4571823/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com