gpt4 book ai didi

sql - 为什么 "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"以不同的顺序返回行?

转载 作者:行者123 更新时间:2023-12-04 11:12:58 25 4
gpt4 key购买 nike

我在使用时以不同的顺序获取行

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

在我的存储过程中。

下面是存储过程中定义的查询。
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

SELECT CaseRateDetailId,AmtPerWeek
FROM CaseRateDetails
WHERE CaseRateInfoId = @CaseRateInfoId

它像这样返回 AmtPerWeek:
10000,15000,5000,20000,25000,..

当我在不使用的情况下运行相同的查询时
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

语句它以正确的顺序返回行,即 5000,10000,15000,20000,25000,....
我可以在上面的查询中使用 AmtPerWeek 子句的 order,但我想知道它为什么会这样?为什么它会改变行的顺序?

最佳答案

NOLOCKTABLOCK你可以得到一个 allocation ordered scan它按文件顺序而不是按照索引的叶级读取页面。

无论是否使用此方法,它都不会显示在执行计划中。无 ORDER BY不保证订单。

关于sql - 为什么 "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED"以不同的顺序返回行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9110787/

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