刚刚在我们使用输出数千条记录的存储过程进行回归时遇到了一个奇怪的行为:
如果短时间内被调用超过20次,存储过程可能会以不同顺序输出相同参数的结果。
有人知道这种行为吗?
由于某些原因,我们无法在存储过程中明确指定顺序。
最佳答案
并行查询计划听起来很可能是罪魁祸首(或者在不同的运行中使用了不同的查询计划)。
如果您没有使用 ORDER BY
明确订购,则无法保证订购。
你能发布存储过程和查询计划吗?
关于SQL Server 2008 R2存储过程多次执行时输出结果顺序不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17848482/