gpt4 book ai didi

MySQL alter table enable keys 没有 promise 的那么快

转载 作者:可可西里 更新时间:2023-11-01 07:08:30 26 4
gpt4 key购买 nike

所以我有一个包含超过 20 亿条记录和 5 个多列键的大表。

我可以使用两种方法来插入数据:

方法一

load data infile ...;

方法二

alter table disable keys;
load data infile ...;
alter table enable keys;

如果我从一个空表开始,对于 20 亿条记录,方法 1 大约需要 60 小时(估计,可能更多),而方法 2 需要 12 小时插入数据,3 小时重新创建键。到目前为止一切顺利。

但是,如果我已经有 20 亿条记录,并尝试再插入 500 万条记录,则方法 1 需要大约 3 个小时,而方法 2 需要 30 分钟插入数据,以及高达 7 个小时的重新创建 key 。我确认在整个 key 重新生成过程中,它使用了Repair by sorting,所以它不像是退回到了Repair with keycache

我想知道这是为什么。 MySQL 声称禁用键非常适合插入批量数据,但这显然取决于上下文。如果它要从头开始重新生成所有 key ,为什么不像我从空表开始那样需要大约 3 个小时?或者如果它一个接一个地插入 key ,为什么它不需要大约 3 个小时,这是方法 1 所花费的时间?

欢迎评论

最佳答案

关于MySQL alter table enable keys 没有 promise 的那么快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5191959/

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