0

我必须为作品编写一个非常复杂的应用程序。我以前的所有软件都是在本地使用的软件,而不是云上的应用程序。

我注意到所有修改数据库的查询都存在并发问题。我刚刚使用可序列化隔离级别的写锁和事务解决了这个问题。但是在仅阅读查询中我必须进行阅读锁定?如果我从表中读取一些记录而另一个查询删除其中一些记录会发生什么?我读得很脏。

那么您能解释一下您通常如何解决查询并发问题吗?我使用 php。你通常使用写锁吗?到目前为止,我从未注意到这个问题。我在一家小公司担任 Web 开发人员,现在我不明白为什么我从来没有出现在这个解决方案中。

谢谢你,对不起我的英语不好。

4

1 回答 1

0

将您的写入包装在事务中,不要使用锁。

在 PHP 中,您的应用程序很容易崩溃并留下一个锁,从而使您的整个数据库在重置之前无法使用。事务将在提交、回滚或连接断开时自动释放。

我认为你所说的大部分都是错位的偏执狂。如果您使用像 InnoDB 这样的适当数据库引擎,您将不会遇到问题。

于 2013-08-28T16:18:39.400 回答