gpt4 book ai didi

sql-server - 长时间锁定记录是现代数据库系统的常见做法吗?

转载 作者:行者123 更新时间:2023-12-03 09:08:14 27 4
gpt4 key购买 nike

问题:长时间锁定记录是现代数据库系统的常见做法吗?

我的理解是,在事务期间锁定数据库中的记录(乐观或悲观)通常会持续很短的时间。

我现在使用的软件会长时间锁定记录:

  • 在用户登录软件的整个过程中,登录用户的记录(在 ACTIVE_USERS 表中)都会保持锁定。

  • 假设用户 A 正在处理一个文件。该文件对应的记录被锁定,直到用户A保存该文件或退出该文件。因此,如果同事用户 B 尝试处理同一个文件,则会出现一个弹出窗口,显示“您无法处理此文件,因为用户 A 正在处理该文件”。

我工作的公司希望实现与 Microsoft SQL Server 的兼容性,希望变化最小:所以我需要实现这样的锁定机制。我已经破解了一些正在最小测试项目上运行的东西,但我不确定它是否符合行业和 MSSQL 的标准......

最佳答案

评论有点长。

使用数据库锁定机制来实现这种应用程序级锁定似乎不寻常。数据库锁可以是行、页或表级别的锁,它们也会影响索引,因此可能会出现意想不到的副作用。显然,锁的激增也使死锁更有可能发生。

通常,应用程序锁将在记录级别进行处理。在记录中使用(某种)标志,应用程序将确保只有一行可以访问该文件。

我想说,它可能会起作用。但我永远不会以这种方式设计系统,并且我会对意外后果保持警惕。

关于sql-server - 长时间锁定记录是现代数据库系统的常见做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45130849/

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