MySQL workbench table 数据导入向导非常慢
MySQL workbench table data import wizard extremely slow
我需要将一个包含 2000 万行和 2 列的 csv 文件导入数据库,但是当我尝试使用 MySQL Workbench 的数据导入向导执行此操作时,速度非常慢, 大概要1个月才能完成,看进度条。
我希望必须有一些更快的方法来做到这一点。
这是一个备选方案。
将您的 CSV 数据转储到 sql 脚本中,您需要为此写下一些代码。
基本上,您的 csv 数据将被转换成类似于以下命令
INSERT INTO TABLE_NAME values(1,2),(1,3),....;
现在使用 MySQL shell 脚本并使用 SOURCE
命令
mysql> 来源 C:/Users/Desktop/sql scripts/script.sql
与直接为数百万条记录导入 CSV 相比,您的数据导入速度更快。
始终使用 Load Data Infile
作为对大量数据的首次尝试。
Mysql Load Data Infile 上的手册页。
为这个问题写了几个答案,但要进行同行比较,请参阅这个人的问题和我的 以及他对 Workbench 与加载数据文件的时间比较。
如果您不想编写代码,我建议您尝试另一个免费的 GUI 客户端,例如 HeidiSQL。它导入 CSV/text 文件比 MySQL Workbench.
快得多
我对 MySQL workbench 也有类似的问题。
我找到的替代方案是 Toad for MySQL (https://www.toadworld.com/m/freeware/1469)
我需要 40 分钟通过 MySQL 管理员连接到远程 MySQL 服务器。在 MySQL 服务器上,上传需要几分钟时间。使用 toad,我可以在几分钟内连接到远程服务器并上传。我确实尝试过 HeidiSQL,但发现它导入起来不太友好。
总是喜欢在导入数据集时加载数据文件,不方便的是=>你必须在导入前创建一个table结构。导入向导允许您直接从 csv 或 json.
即时创建新的 table
我认为这种缓慢的原因是:workbench 使用 python 作为导入向导。你可以在导入向导的日志中看到出错时,是python的控制台日志。
如果您出于任何原因不想创建结构,您可以启动进程,它将从 csv 创建 table,然后终止进程。然后,从 table 中删除所有内容并加载数据文件。这有点丑陋 "hack" 但它对我有用。
我对快速 Export/Import 向导的建议是使用 MySQL for Excel
这既轻松又快速,您无需解决所有必须解决的错误和调整 LOAD DATA INFILE
我需要将一个包含 2000 万行和 2 列的 csv 文件导入数据库,但是当我尝试使用 MySQL Workbench 的数据导入向导执行此操作时,速度非常慢, 大概要1个月才能完成,看进度条。
我希望必须有一些更快的方法来做到这一点。
这是一个备选方案。
将您的 CSV 数据转储到 sql 脚本中,您需要为此写下一些代码。
基本上,您的 csv 数据将被转换成类似于以下命令
INSERT INTO TABLE_NAME values(1,2),(1,3),....;
现在使用 MySQL shell 脚本并使用 SOURCE
命令
mysql> 来源 C:/Users/Desktop/sql scripts/script.sql
与直接为数百万条记录导入 CSV 相比,您的数据导入速度更快。
始终使用 Load Data Infile
作为对大量数据的首次尝试。
Mysql Load Data Infile 上的手册页。
为这个问题写了几个答案,但要进行同行比较,请参阅这个人的问题和我的
如果您不想编写代码,我建议您尝试另一个免费的 GUI 客户端,例如 HeidiSQL。它导入 CSV/text 文件比 MySQL Workbench.
快得多我对 MySQL workbench 也有类似的问题。 我找到的替代方案是 Toad for MySQL (https://www.toadworld.com/m/freeware/1469)
我需要 40 分钟通过 MySQL 管理员连接到远程 MySQL 服务器。在 MySQL 服务器上,上传需要几分钟时间。使用 toad,我可以在几分钟内连接到远程服务器并上传。我确实尝试过 HeidiSQL,但发现它导入起来不太友好。
总是喜欢在导入数据集时加载数据文件,不方便的是=>你必须在导入前创建一个table结构。导入向导允许您直接从 csv 或 json.
即时创建新的 table我认为这种缓慢的原因是:workbench 使用 python 作为导入向导。你可以在导入向导的日志中看到出错时,是python的控制台日志。
如果您出于任何原因不想创建结构,您可以启动进程,它将从 csv 创建 table,然后终止进程。然后,从 table 中删除所有内容并加载数据文件。这有点丑陋 "hack" 但它对我有用。
我对快速 Export/Import 向导的建议是使用 MySQL for Excel
这既轻松又快速,您无需解决所有必须解决的错误和调整 LOAD DATA INFILE