gpt4 book ai didi

sql-server - 什么是金融操作中的锁定、死锁问题?

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

质疑 SQL - when should you use “with (nolock)”

在一家本地金融机构,我被他们的程序员斥责,因为他们表达了我的观点,(他们的程序员痴迷于)(b)锁定他们的 MS SQL Server 2005 数据库中的问题对我来说没有多大意义。

如果财务操作从未更新、删除甚至不正确的操作(“交易”的一部分?)通过将新的更正记录插入(添加)到数据库中来更正,则可能的锁定、阻塞、死锁有哪些可能的问题?
这个用英语怎么说?在其他语言中,它被称为 storno,stornoed (?) 操作/记录。

所以,据我所知,“交易”真的永远不会回滚,而且永远不会有不正确/不存在的记录,只有未实现的记录。

更新:
我在谷歌上搜索了 storno,但找不到任何关于其英文定义或其在英文文本中使用的结果。
我只在意大利语中找到了 storno(拉丁字母)的定义。
但是会计是在意大利发明的,许多意大利会计术语也用于其他语言,例如俄罗斯会计(银行)。
我还认为这是国际公认的财务运营会计实践,不是吗?

更新 2:
S.Lott 给了我链接 The way that transactions are reversed in an ERP application is a big deal!告诉 storn 是逆转交易。

嗯,这是不正确的。 Storno 不仅是交易,它是纠正不正确操作的任何操作(交易的一部分),尽管 2 个操作组合起来可能看起来是反向交易(由 2 个操作组成 - 在目标和源帐户上贷记和借记)。

那么,storno 是不是通过世界通用的财务会计实践?

不管怎样,我想避免讨论会计细节/技术/术语,并在记录从未被删除或更新时将问题限制在上下文中。

在这种情况下,锁定、阻塞、死锁和性能可能存在哪些问题?

最佳答案

“Storno Transactions”或“Reversing Transactions”总结得很好。在很多地方。

http://richardatopenbravo.blogspot.com/2010/02/way-that-transactions-are-reversed-in.html

http://help.sap.com/saphelp_46b/helpdata/en/d2/6f921f415e11d182b10000e829fbfe/content.htm

http://forum.wordreference.com/showthread.php?t=1875166

不要将软件实现与会计混为一谈。一个合理的实现可以通过最少的锁定来实现。然而,这并不意味着什么。您可能会因为该软件 (a) 设计糟糕和 (b) 由于设计不佳而需要小心锁定而受到谴责。

What are the possible issues...?



由于我们不知道软件编写的好坏,因此无法猜测。他们可能知道一些你不知道的关于他们的系统的事情。

一个简单的 storno 交易系统应该很容易实现。确实,这应该是微不足道的。

如果在插入期间使用页级锁定,一对“仅插入”表仍可能遇到死锁。

表 A,第 1 页在事务 X 中有一个插入。

表 B,第 2 页在事务 Y 中有一个插入。

表 B,第 2 页在事务 X 中有一个插入。

表 A,第 1 页在事务 Y 中有一个插入。

避免死锁的唯一方法是让整个系统使用单个表。或者将所有事务限制在一个表中。或者使用单个数据库范围的锁。

如果您有多个表操作(和页级锁定),那么即使使用仅插入操作,您仍然会遇到潜在的死锁。显然,这种情况很少见,但仍有可能。

关于sql-server - 什么是金融操作中的锁定、死锁问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836032/

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