当前位置: 首页 > 知识库问答 >
问题:

如果同时对数据库有多个请求,会发生什么?

水焱
2023-03-14

我目前正在开发一个应用程序,其中有一个部分,用户为一个图像投票,并显示一个消息“你是第N个投票者”。 假设在2-3秒的时间内,1000个甚至100个用户为一个特定的图像投票。 我将如何确保这些用户中的每一个都显示正确的N值,并且N在数据库中正确地递增?

我正在使用MySQL和PHP。

共有1个答案

汲昊空
2023-03-14

通常,关系数据库实现ACID属性(在Wikipedia或其他源中阅读有关它们的更多信息)。

这些保证事务不会相互干扰,数据库保持一致。 因此,如果一组用户在同一时间投票,一组查询进行查询,那么每个查询在运行时都将与数据的视图保持一致。 当然,结果可能会随着时间的推移而改变。

我还应该补充这一点。 ACID属性的强制增加了数据库的开销。 并不是所有数据库都始终100%兼容ACID,因此这也取决于您的数据库设置(在存储引擎上使用MySQL的情况下)。 但是,一般来说,如果代码编写得当,您不必担心数据库中的东西会“正确地递增”。

 类似资料:
  • 我对PHP脚本和MySQL的行为很好奇?脚本基本上是两个SQL查询。 第一个从由某个id决定的特定行的列中选择并获取一个数字。 然后,如果数字为正数,则第二个将通过减去某个量来更新列。 很明显,这是一个典型的例子,我会使用事务、锁、互斥体等等。 我的问题是:在一个网站中,两个或更多的用户完全有可能同时调用同一行的脚本。如果不使用事务或锁定表,PHP将如何处理?它们是两个查询/函数调用,但它们在一个

  • 问题内容: 在具有并发访问的程序中使用映射时,是否需要在函数中使用互斥体来 读取 值? 问题答案: 读者众多,没有作家可以: https://groups.google.com/d/msg/golang- nuts/HpLWnGTp-n8/hyUYmnWJqiQJ 一个作家,没有读者是可以的。(否则,地图不会太好。) 否则,如果至少有一个作家,而作家或读者至少还有一个,那么 所有 读者 和 作家都

  • 据我所知,两个不相等的对象可以具有相同的哈希代码。当添加或从HashMap java中检索时,将如何处理这个问题?

  • 我对在PHP中一次提交多个请求持怀疑态度。我有一个php函数,比如insertOrder()来将详细信息插入数据库表并向用户发送通知。详细信息将从另一个来源自动发布到此功能。这些是insertOrder()中的步骤 启动Mysql事务 从OrderID=123的数据库表中选择订单计数(来自post数据) 如果COUNT=0,则插入数据库表并发送通知 如果不是0,则更新顺序 提交 问题在于,有时系统

  • 当您以“正常”方式停止或重新启动tomcat时,正在处理的http请求会发生什么情况?它们将被处理直到响应完成还是http线程被中断?有没有办法配置优雅的停车?

  • 这三个方法包含相同的参数,所以不应该重载。它们都有执行不同功能的代码。这怎么可能?java如何知道调用哪个方法?在命令行中通过java jar命令执行此代码时,我没有得到任何错误。

  • 这是在收到以db为单位的帖子列表后发送带有每个帖子链接数据的POST请求的代码。 在使用每个链接请求帖子后,从回复中提取playerCount并将其更新到每个帖子。 我在这段代码中使用Resttemplate,但有一个问题需要花费太长时间。 所以我想把这个代码改为一次发送一个请求,并在所有请求完成后更新每个帖子。 我怎样才能把这个代码转换成我想要的? 我将使用此代码作为计划任务。

  • 我不确定这是否可能,但我在安装Laravel时遇到了这种情况。 我正在运行3个实时数据库(随着时间的推移会更多),我有一个laravel安装,我想做的是使用不同的连接合并所有数据,并运行1个查询,以获得所有关系等所有数据使用雄辩。所有的数据库在表设计、索引、键等方面都是一样的,但我不确定是否可能! 我希望能够编写一个查询,例如: