首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中测试并发的mysql插入操作

问在php中测试并发的mysql插入操作
EN

Stack Overflow用户
提问于 2015-12-09 08:27:19
回答 1查看 565关注 0票数 1

我想同时多次运行这个php脚本。

代码语言:javascript
复制
$db =  new mysqli('localhost', 'me', 'pw', 'test');   
$time = time();
$sql = "  INSERT INTO test  (  `test_created`  ) VALUES( ". $time  .") ";
$result = $db->query($sql);

我这样做是因为我想复制一个场景,在这个场景中,许多用户提交数据库条目的时间完全相同,甚至高达纳秒,这就是我所说的“并发”插入。

我尝试通过指定执行的小时和分钟来使用我的共享主机提供程序的虚拟cron调度程序。然后,我制作了包含上述代码的五个相同的文件。

但是,当我查看表项时,插入的时间戳并不相同。这是因为mysql不能处理并发插入操作吗?如果mysql可以处理“并发插入”,这是测试并发插入操作的正确方式吗?如果没有,我应该如何在有或没有cron的php环境中进行测试?

EN

回答 1

Stack Overflow用户

发布于 2015-12-09 08:37:38

  1. 试图模拟在同一纳秒内发生的操作通常是困难和不切实际的,我只会做一个笼统的声明,那就是在PHP或mySQL中单独使用是根本不可能的,更不用说串联在一起了。
  2. 您不能同时向表中插入两行。永远不会。您可以在RDBMS中有两个线程快速无缝地插入行,以至于您可以声称它是同时发生的,但是为了维护一致性,RDBMS必须有一个连续的操作顺序,甚至不用担心您试图模拟的情况。我必须认真研究,才能找到一种不能很好地处理这种情况的关系型数据库管理系统。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34168702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档