小编典典

有平行游标之类的东西吗?

sql

我正在使用CURSOR进行逐行操作。

OPEN CURSOR_T

FETCH NEXT FROM ...

WHILE @@FETCH_STATUS = 0
BEGIN
      ... Block begins

      ... Block Inserts results into a table

      ... Block terminates
END

我想知道为什么不能并行执行此操作,因为行操作是完全隔离的,只能将一些行插入到另一个表中,并且每一行都有自己的ID分配,因此不存在发生冲突的明显可能性。

我想知道是否有一种方法可以在纯SQL中并行化它?


阅读 216

收藏
2021-03-23

共1个答案

小编典典

这通常是通过队列来实现的:选择“待办事项”项并将其放入队列,同时队列读取器(处理线程)将“待办事项”项出队并逐一处理。将表用作队列是一种很好的技术,处理通常与激活相关联,入队/出队周期实际上是连续的。

2021-03-23