gpt4 book ai didi

mysql - 加快数据插入

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:00 25 4
gpt4 key购买 nike

我正在使用 MySQL 数据库。

如果我有 6,000,000 条新记录 需要插入一个表(不是空表)。

问题 1:

ALTER TABLE tbl_name DISABLE KEYS;

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9), ... ...

ALTER TABLE tbl_name ENABLE KEYS;
OPTIMIZE TABLE tbl_name;

:
ALTER TABLE tbl_name DISABLE KEYS;

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3)
...
...

ALTER TABLE tbl_name ENABLE KEYS;
OPTIMIZE TABLE tbl_name;

?

问题 2:

第一个是不是叫批量插入?

------------更新----------------

之后我应该启用/禁用键优化我的表吗?由于@Neil 的评论似乎不建议这样做。别人怎么看?

最佳答案

尝试使用批量插入优化您的查询。这应该会大大提高插入数据过程的速度。

您写道,您在插入大量数据时遇到了错误 - “数据库消失了”

在这种情况下,查询的大小不应超过数据包的最大大小 - 请参阅有关 max_allowed_pa​​cket 变量的信息。


如何检查 max_allowed_pa​​cket 值 -

SELECT @@global.max_allowed_packet;

如何设置这个值-

SET @@global.max_allowed_packet = 200000;

More information here

如果这一切对你来说还不够,那么看看这篇文章(正如 Gfox 建议的那样)- Speed of INSERT Statements .

关于mysql - 加快数据插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8211299/

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