gpt4 book ai didi

sql - 为什么在查询数据库时 nolock 很重要

转载 作者:行者123 更新时间:2023-12-02 07:25:19 25 4
gpt4 key购买 nike

在一个巨大的数据库上工作,我正在提取大量数据。例如我的查询是

select * from temp

这导致我的应用程序用户出错,然后我意识到我的问题是因为我的查询提取数据花费的时间太长。

然后我用

修改了我的查询
select * from temp with(nolock)

然后一切顺利。有人请解释为什么 nolock 如此重要。

最佳答案

NOLOCK 覆盖确保您从数据库中读取的数据一致并遵守 ACID 的规则规则(A原子性、一致性一致性、I隔离、D耐用性)。

如果您在没有 NOLOCK 的情况下运行查询,那么您将始终得到相同的结果(假设在此期间没有其他人删除或更新任何数据)。

如果您WITH NOLOCK 运行查询两次或更多次,您的结果可能会有所不同。

NOLOCK其实就是告诉DB返回它能读到的数据,不管有没有commit到数据库。

因此,总而言之:NOLOCK 很重要,无论您是否想要准确 数据。如果您想要只是数据,那么您可以使用NOLOCK,但这通常不是一个好主意。

关于sql - 为什么在查询数据库时 nolock 很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32984465/

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