-2

我在 5-10 秒内在单个表上收到 100 个同时行更新请求,这会导致问题,它实际上并没有更新行,也没有给出任何错误mysql_query($query)响应。

请提出这可能是什么原因,我该如何解决这个问题?

表中有大约 20 万条记录。这可能是问题之一。

4

1 回答 1

1

检查您的存储引擎配置。听起来您实际上并没有执行“太多”插入,但是如果您在紧张的服务器上(例如廉价的共享主机),切换到更适合大量插入/更新的引擎可能会有所帮助:

比较 InnoDB 和 MyISAM 的性能

其他可能/可能不适用于您的特定情况的潜在解决方案:

1)减少正在更新的表上的索引数量,以提高更新/插入的速度。

2)将传入的编辑缓存到一个较小的表(没有索引),然后定期同步它们。

3)将插入合并到单个查询中(尽管这听起来对您不起作用)将它们全部插入到内存临时表中,然后 INSERT INTO ... SELECT FROM ... 对目标进行单个事务桌子。

于 2012-06-30T07:15:15.593 回答