我想要更新一个包含9000万条记录的表。
例如:
UPDATE huge_table set field3 = CONCAT_WS(' ', field1, field2)更新会将表锁定一段时间,我希望最小化锁定的时间。
我应该填充一个临时表来存储这些值,然后从临时表中分配它们吗?或者我应该尝试批量更新1000个?也许两者兼而有之。
发布于 2012-01-25 04:10:51
我会分批运行更新。
发布于 2012-01-25 04:06:57
您应该在不同的环境中执行类似的加载,并将表重新指向最新的数据集。
发布于 2012-01-25 04:07:27
两者都不是。您需要尽可能快地更新。如果您创建了一个临时表,那么您将添加9000万次插入和删除。
考虑表分区。参见http://dev.mysql.com/doc/refman/5.5/en/partitioning-overview.html。
https://stackoverflow.com/questions/8993261
复制相似问题