gpt4 book ai didi

mysql - 在 MYSQL 中插入新列花费的时间太长

转载 作者:可可西里 更新时间:2023-11-01 07:17:03 24 4
gpt4 key购买 nike

我们有一个庞大的数据库,插入一个新列花费的时间太长。无论如何要加快速度?

最佳答案

不幸的是,您可能无能为力。插入新列时,MySQL 会复制该表并在其中插入新数据。您可能发现这样做更快

CREATE TABLE new_table LIKE old_table;
ALTER TABLE new_table ADD COLUMN (column definition);
INSERT INTO new_table(old columns) SELECT * FROM old_table;
RENAME table old_table TO tmp, new_table TO old_table;
DROP TABLE tmp;

这不是我的经验,但我听说其他人已经成功了。您还可以尝试在插入之前禁用 new_table 上的索引,稍后再重新启用。请注意,在这种情况下,您需要注意不要丢失任何可能在转换期间插入到 old_table 中的数据。

或者,如果您担心在更改期间影响用户,请查看 pt-online-schema-change它巧妙地使用触发器来执行 ALTER TABLE 语句,同时保持被修改的表可用。 (但请注意,这不会加快该过程。)

关于mysql - 在 MYSQL 中插入新列花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7461085/

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