是否可以在同一存储过程中并行处理for循环?

author author     2023-05-10     657

关键词:

有一个SQL Server存储过程,我想循环遍历从表中读取的一组选项。所以说一张桌子有100个选项。我的存储过程将循环遍历这些选项,对于每个选项,我需要进行一些检查 - 通过查询基于选项的几个特定表并标记与其相关的状态。

我是否可以拆分for循环,以便在一个循环中处理第1行-50,在另一个循环中处理第51-100行,并且我能够并行运行这两个?我看到了一种方法,您可以通过SQL作业或其他方式并行运行多个存储过程,但无法通过拆分来查看是否可以通过并行执行for循环。

答案

将您的问题视为学术问题,而不是考虑是否存在基于集合的解决方案,因为没有足够的信息可以做到这一点。

不能使用标准TSQL在单个循环中(或在两个单独的循环中)执行此操作,因为TSQL是同步的。即使您“拆分”循环,第二个过程调用也无法启动,直到第一个调用完成。它们不会并行运行。

要并行运行两个循环,您必须引入一些其他语言。 this search的结果出现了不少想法,但我看到的前几个有很多关于陷阱和意外结果的警告。如果您想尝试其中任何一个,由您决定。

如何在批处理模式下运行存储过程或在并行处理中运行它

...一迭代所有记录,并且必须处理以下三个步骤。查看产品是否存在查看资产中的产品是否属于“类别”。查 查看详情

在parallel.for中,是否可以同步每个线程?(代码片段)

在Parallel.For中,是否可以使用'WaitAll'同步每个线程?Parallel.For(0,maxIter,i=>//Dostuffs//Synchronisation:waitforallthreads=>???//Doanotherstuffs);答案Parallel.For,在后台,将循环的迭代批处理为一个或多个Tasks,可以并行执行。除非您获得分区... 查看详情

在 SnowFlake DB 中并行执行存储过程中的 SQL 语句

...发布时间】:2020-10-0706:28:10【问题描述】:在SnowFlake中,是否有任何选项可以在存储过程中并行执行sql语句。我有一个存储过程(如下所示),它有35个sql语句,它们按顺序运行。我们计划减少时间,考虑并行 查看详情

我们如何避免并行执行存储过程?(代码片段)

...用程序层,以防止同时运行此进程的多个实例。例如,您可以将逻辑移动到一次处理1条消息的队列中。另一种选择是在应用程序级别锁定以防止执行数据库调用。SQLServer确实有一个锁定机制来确保代码块不会多次运行:“applock... 查看详情

在并行 for 循环 C# 中定义堆栈大小

...式进行训练(随着树的深入而增加调用堆栈的大小),我可以毫无问题地训练一棵树(或顺序循环中的几棵树)。但是,在Parallel.For循环中训练所有树会导致堆栈溢出。我知道在使用newThread()时可以配置堆栈 查看详情

并行 For 循环 java 有竞争条件

...非常快,但我得到的结果不一致,可能是由于竞争条件。是否有另一个并行的for循环可以像这个一样快速运行并且始终保持一致?ExecutorServiceexec=Executors. 查看详情

是否可以在.net 的同一事务中并行运行多个 SQL 语句?

】是否可以在.net的同一事务中并行运行多个SQL语句?【英文标题】:IsitpossibletorunmultipleSQLstatementsinparallelwithinthesametransactionfrom.net?【发布时间】:2017-03-1723:27:19【问题描述】:我想更新到SQLServer中的7个表。我首先将SqlBulkCopy放... 查看详情

MySQL存储过程,处理多个游标和查询结果

...们想要添加为朋友的朋友的电子邮件,然后检查电子邮件是否具有相 查看详情

存储过程中的 Oracle For 循环不循环

】存储过程中的OracleFor循环不循环【英文标题】:OracleForLoopinStoredProcedureNotLooping【发布时间】:2012-11-2918:00:38【问题描述】:在尝试在我们的一个系统中提高SP的可维护性时,我决定使用循环比硬编码一组值(在本例中为表名)... 查看详情

是否可以在不使用 python 移动终端行的情况下在同一位置打印“for循环”表?

】是否可以在不使用python移动终端行的情况下在同一位置打印“for循环”表?【英文标题】:Isitpossibletoprintatableofa\'forloop\'atthesamepositionwithoutmovingaheadthelinesoftheTerminalusingpython?【发布时间】:2021-01-2201:50:33【问题描述】:这是一... 查看详情

在存储过程的循环中使用游标

...11-03-1413:07:53【问题描述】:为了使用MySQL动态使用游标,是否可以在存储过程的循环中声明游标?我试过了,报错:increment:LOOPDECLAREcur1CURSORFORSELECTperson_id,publication_idFROMp_publicationWHEREper 查看详情

多线程调用oracle存储过程是不是并发执行?

...DB的负担很重,经常这个程式要占70%的cup资源。所以我想是否多线程调用存储过程时,如果同时有多条线程要调,是否都会放到缓冲中等待前一个线程调用完了,再执行?而不是并发的执行!请告诉我如果两个程式同时调用oracle... 查看详情

在vb中for循环嵌套语句的用法语解释(必须清楚!!)

...环的结构下面来看for循环的执行顺序:首先判断变量的值是否在变量的初始值与终止值之间,如果在则执行循环体中的语句,当循环体中的语句都执行完了之后然后再执行Next变量值这一句,这一句就是变量值安照变量的变化的步... 查看详情

oracle数据库的存储过程中可以用到隐形游标。但是我不太明白为啥可以用forinloop来完成对数据的处理。

这个属性不是显性游标的吗?难道可以共用好比这样:formy-prdinfo-recin(select*fromproductinfowherecategory=cur-ctgy)loppdbms-output.put-line(产品名称:'||my-prdinfo-rec.productname||'产品价格:'||my-prdinfo-rec.productprice||'产品数量:’||my-prdinf... 查看详情

Windows 批处理:在 FOR 循环中调用多个命令?

...时间】:2011-01-1605:10:01【问题描述】:Windows批处理文件是否可以在单个FOR循环中调用多个命令?例如,我想打印文件名并在删除后:@ECHOOFFFOR/r%%XIN(*.txt)DO(ECHO%%XDEL%%X)REMthelineaboveisin 查看详情

在 Python 中通过线程/核心/节点并行化 for 循环

】在Python中通过线程/核心/节点并行化for循环【英文标题】:Parallelizefor-loopinPythonoverthreads/cores/nodes【发布时间】:2019-12-1714:33:09【问题描述】:我打算在Python中并行化一个for循环,如下所示处理大型数据数组。线程/核心/节点上... 查看详情

在 R 中并行运行 for 循环

】在R中并行运行for循环【英文标题】:runaforloopinparallelinR【发布时间】:2016-11-1401:28:37【问题描述】:我有一个类似这样的for循环:for(i=1:150000)tempMatrix=tempMatrix=functionThatDoesSomething()#callingafunctionfinalMatrix=cbind(finalMatrix,tempMatrix)你... 查看详情

如何使用 PySpark 并行化我的文件处理程序

...一个函数,该函数使用for循环遍历我的GCP(谷歌云平台)存储桶上的每个文件。我正在使用CLI将作业提交到GCP并让作业在GCP上运行。对于在此for循环中遍历的每 查看详情