Php Sql更新大量行

Php Sql更新大量行,php,mysql,sql,Php,Mysql,Sql,我需要更新大量的行,大约100000行。 可能一个查询对服务器来说太重了 分割更新的最佳方式是什么? 比如更新200行,睡眠一秒,然后再更新200行 编辑: 好的,我得到了一个答案,在一个查询中就可以了。 但我还是想知道怎么做。 假设我有1000000行或更多行。 拆分查询的最佳方式是什么?使用“限制”和“按上次更新时间排序”的组合ASC 像 UPDATE table SET ..... ORDER BY last_updated_time ASC LIMIT 5000 5000次更新通常不会

我需要更新大量的行,大约100000行。 可能一个查询对服务器来说太重了

分割更新的最佳方式是什么? 比如更新200行,睡眠一秒,然后再更新200行

编辑:

好的,我得到了一个答案,在一个查询中就可以了。 但我还是想知道怎么做。 假设我有1000000行或更多行。
拆分查询的最佳方式是什么?

使用“限制”和“按上次更新时间排序”的组合ASC

UPDATE table SET ..... ORDER BY last_updated_time ASC LIMIT 5000

5000次更新通常不会太快。。如果您想将其设置为1000..

除非有您没有告诉我们的约束,否则在一个查询中更新所有查询是最好的解决方案

由于服务器过载而考虑拆分内容似乎没有实际用途。想想你自己的解决方案和数字。如果您有一百万个数据集,并且您尝试一次更新200个,然后睡眠一秒钟,您最终会进行5000次更新,并花费83.3分钟等待服务器完成此任务,而不计算执行查询所需的时间,这可能非常快

基本上,您可以知道或选择数据库中的所有ID,并通过使用适当的WHERE子句和UPDATE为每个ID或组发送查询


除非我们对这个场景有更多的了解,否则这个问题无法回答。它针对非常个性化的使用模式优化内容,没有任何解决方案可以应用于任何地方。

如果您不能在一个查询中执行到100k行的更新,我将升级您的服务器。一次要更新多少字段?如果这是一个巨大的数据量,那么您可能需要重新考虑您的模式。您认为更新10万行对服务器来说太重的依据是什么?更新应该是原子的。如果数据在睡眠期间发生变化怎么办?我只需要更新一个字段。我只是认为这样的行动可能是沉重的。我很高兴知道不应该这样。