gpt4 book ai didi

mysql - 更新或插入具有 6000 万条条目的 mysql 数据库

转载 作者:行者123 更新时间:2023-11-29 19:03:02 29 4
gpt4 key购买 nike

我有一个 mysql 数据库,其中有一个表,其中包含大约 6000 万个条目,主键为“x”。我有一个数据集(csv 文件),其中也有大约 6000 万个条目。该数据集还有索引“x”。对于 mysql 表和数据集共有的键“x”的值,mysql 表中的相应条目只会随着计数器变量的增量而更新。将插入数据集中的新数据。

一个简单的串行执行,其中我们尝试更新条目(如果存在)或插入,大约需要 8 小时才能完成。我可以做什么来提高整个过程的速度?

最佳答案

A 计划:IODKU,正如 @Rogue 建议的那样。

B 计划:两个 sql;它们可能会运行得更快,因为 8 个小时的一部分时间是在收集大量的撤消信息,以防发生崩溃。 normalization section接近这两个查询。

计划 C:遍历这对表,使用其中一个表的主键来执行 IODKU,例如 1000 行。看我的Chunking代码(并将其从 DELETE 调整为 IODKU)。

在计划 B 和 C 中,启用自动提交,这样就不会建立巨大的重做日志。

计划 D:在使用 JOIN 合并两个表时构建一个新表。以原子结束

RENAME TABLE real TO old,
new TO real;
DROP TABLE old; -- when happy with the result.

计划 E:计划 D + INSERT ... SELECT real JOIN tmp ... 的分块 ...

关于mysql - 更新或插入具有 6000 万条条目的 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43712897/

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