0

我正在编写一个系统,用于将项目放入玩家的游戏库存中,我想知道单独的查询将如何影响 SQL Server 中正在运行的事务。例如:

  1. 开始交易
  2. 查询用户的钱及其在游戏中的状态(必须离线)
  3. 将一些物品添加到其库存中。
  4. 减少它的钱
  5. 提交

但是整个游戏服务器有很多单独的查询和子系统,它们可以在没有交易的情况下运行……比如库存、金钱和玩家状态的更新。

交易究竟是如何运作的?我的意思是它就像 C++ 的关键部分一样,您需要一个对象来锁定(在这种情况下是我的过程),还是它也锁定单独的查询?更新时我需要将所有内容放入事务中吗?

由于我是所有与编程相关的自学成才的学习者,因此会遗漏一些东西。对不起。

谢谢你。

4

1 回答 1

1

我理解它的方式,数据库中的事务是单个或一组查询,将以“全有或全无”的方式处理,或者更确切地说,如果其中一个查询不起作用,数据库将回滚到它们发生之前的状态。锁定不一定需要在每个事务期间使用,但在数据库更改至关重要并且应该在任何其他进程或查询有机会更改受锁定影响的数据之前发生时使用。

这里有一篇文章可以更好地解释这一点:

于 2012-08-20T17:20:35.110 回答