我正在使用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中并行化它?
这通常是通过队列来实现的:选择“待办事项”项并将其放入队列,同时队列读取器(处理线程)将“待办事项”项出队并逐一处理。将表用作队列是一种很好的技术,处理通常与激活相关联,入队/出队周期实际上是连续的。