gpt4 book ai didi

MySQL - 是否可以运行多个同步插入?

转载 作者:行者123 更新时间:2023-11-29 05:15:55 25 4
gpt4 key购买 nike

我在 SO 上进行了谷歌搜索,但没有找到答案;也许你可以指出一些引用资料/文档?

这更多是关于理解 MySQL 在插入时处理表内容的方式。我有一个表 (Myisam),它有一个自动递增的主键“autoid”。我正在使用一个简单的脚本来插入 1000 多条记录。我想要做的是运行这个脚本的多个实例(你可以将它想象成类似于同时从不同机器访问脚本)。

MySql 是否能够相应地分配自动增量主键而无需我采取任何进一步操作,或者我是否必须为每台机器进行某种表锁定?也许我必须选择 InnoDb 而不是 MyIsam?

我想要实现的是:无论有多少台机器同时触发脚本,所有插入都应该完成,而不会跳过任何自动递增 ID 或抛出“Duplicate Value for...”之类的错误。

非常感谢

最佳答案

使用数据库的全部意义在于可以事务处理此类情况。所以是的,这个场景在每个常用的 DBMS 系统上都运行良好,包括 MySQL。

您认为普通论坛如何与 50 个用户同时发布对一个主题的回复,所有这些回复都来自 fork 的并行 Apache 进程(可能仅相隔几微秒),或者来自多个负载平衡的网络服务器?

在访问和递增共享资源(在本例中为表的自动递增值)时,它在内部仅像任何其他进程一样使用互斥锁/信号量来缓解固有的竞争条件。

关于MySQL - 是否可以运行多个同步插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930723/

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