问题:长时间锁定记录是现代数据库系统的常见做法吗?
我的理解是,在事务期间锁定数据库中的记录(乐观或悲观)通常会持续很短的时间。
我现在正在使用的软件会长时间锁定记录:
在用户登录软件的整个过程中,登录用户的记录(在 ACTIVE_USERS 表中)都会保留锁定。
假设用户 A 正在处理一个文件。该文件对应的记录被锁定,直到用户A保存该文件或退出该文件。因此,如果同事 USER B 尝试处理同一个文件,则会出现一个弹出窗口,显示“您无法处理此文件,因为 USER A 现在正在处理它”。
我工作的公司希望实现与 Microsoft SQL Server 的兼容性,希望更改最小化:因此我需要实现这样的锁定机制。我已经破解了一些正在最小测试项目上运行的东西,但我不确定它是否符合行业和 MSSQL 的标准......