csv MySQL工作台表数据导入向导极慢

liwlm1x9  于 2023-07-31  发布在  Mysql
关注(0)|答案(6)|浏览(163)

我需要将一个包含2000万行和2列的csv文件导入到数据库中,但是当我尝试使用MySQL Workbench的数据导入向导时,它非常慢,可能需要1个月才能完成,看看进度条。
我希望能有更快的方法。

t98cgbkg

t98cgbkg1#

始终使用Load Data Infile作为大型数据集的首次尝试。
Load Data Infile上的Mysql手册页。
对于这个问题,我写了几个答案,但是为了进行同行比较,请参阅这个人的问题和我的Answer以及他对Workbench与Load Data Infile的时间比较。

iyr7buue

iyr7buue2#

这是另一种选择。将CSV数据转储到sql脚本中,您需要为此写下一些代码。基本上,您的csv数据将被转换为类似于以下命令
第一个月
现在使用MySQL shell脚本并使用SOURCE命令
C:/用户/桌面/SQL脚本/脚本. sql
与直接导入数百万条记录CSV文件相比,导入数据的速度更快。

bqf10yzr

bqf10yzr3#

如果你不想写代码,我建议你尝试另一个免费的GUI客户端,比如HeidiSQL。它导入CSV/文本文件的速度比MySQL Workbench快得多。

2cmtqfgy

2cmtqfgy4#

我在MySQL Workbench中遇到了类似的问题。我找到的替代方案是Toad for MySQL(https://www.toadworld.com/m/freeware/1469
这将需要我40分钟通过MySQL管理,连接到一个远程MySQL服务器。在MySQL服务器上,上传需要几分钟。有了toad,我可以连接到远程服务器,并在几分钟内上传。我确实尝试了HeidiSQL,但没有发现它导入起来那么友好。

jdzmm42g

jdzmm42g5#

总是喜欢在导入数据集的文件中加载数据,不方便的是=>你必须在导入之前创建一个表结构。导入向导允许您直接从csv或json动态创建新表。
我认为这种缓慢的原因是:workbench使用python作为导入向导。在导入向导的日志中可以看到,当发生错误时,它是python的控制台日志。
如果你出于任何原因不想创建结构,你可以启动进程,它将从csv创建表,然后杀死进程。然后,删除表中的所有内容并将数据加载到文件中。这是一种丑陋的“黑客”,但它为我工作。

vdgimpew

vdgimpew6#

我建议使用MySQL for Excel来快速导出/导入向导
这是无痛和快速的,你不需要解决所有的错误和调整,你必须围绕LOAD DATA INFILE工作

相关问题