gpt4 book ai didi

mysql - 哪个是快速加载数据 infile 或正常插入?

转载 作者:行者123 更新时间:2023-11-29 05:25:56 25 4
gpt4 key购买 nike

我有一个表有4000万条记录,我想像这样把这40M复制到80M-

INSERT INTO cdr (id,dataPacketDownLink, dataPacketUpLink,dataPlanEndTime,dataPlanStartTime,dataVolumeDownLink,dataVolumeUpLink,
dataplan,dataplanType, createdOn, deviceName, duration, effectiveDuration, HOUR, eventDate, msisdn, QUARTER, validDays, dataLeft,completedOn,evedate)SELECT null,dataPacketDownLink, dataPacketUpLink,dataPlanEndTime,dataPlanStartTime,dataVolumeDownLink,dataVolumeUpLink,
dataplan,dataplanType, createdOn, deviceName, duration, effectiveDuration, HOUR, eventDate, msisdn, QUARTER, validDays, dataLeft,completedOn,eve_date FROM cdr;

使用这个是正确的还是我应该使用 SELECT INTO OUTFILE 和 LOAD DATA INFILE 来快速插入?还是有比以上两种更好的方法?

谢谢。

最佳答案

您当前的解决方案相当不错,但如果您的表有很多索引,那可能会减慢速度。索引有利于搜索,但会减慢插入速度。

您可以尝试先删除所有(或大部分)索引,复制所有数据,然后重新创建它们。或者,您可以构建一个没有索引的新表,将所有数据复制到那里,在新表上创建索引,然后删除旧表并重命名新表。

不过,我以前见过这么大的 table 修改需要这么长时间。不幸的是,MySQL 在这些事情上不是很快。

关于mysql - 哪个是快速加载数据 infile 或正常插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297932/

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