`
zpball
  • 浏览: 919178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql导入数据过慢 解决方法

 
阅读更多
mysql中用
mysql->use test;
mysql->set names utf8;
mysql->source D:/ceshi.sql
导入数据的时候 执行速度相当慢

“可以把EXCEL另存为csv 格式,然后用 load data 方法,这个比 insert 快”

这个方法没试

把innodb_flush_log_at_trx_commit这个参数改为0 然后重启数据库 应该比你原来速度快很多

这个可以


导出(备份):mysqldump -u 用户名 -p databasename >exportfilename

导入(还原):方法一 mysql -u 用户名 -p databasename

方法二 进入MySQL数据库控制台 use 数据库名,之后:source importfilename

导入数据非常慢
将JQ1中的方案导出,然后导入到JQ2的中(导出的数据文件有90M)。上面两种方法都使用了,但是没有成功,或者说是十分慢(估计1,2天才能完成)。

解决办法(十几分钟可以导完):

查看JQ2的mysql参数:
show variables like 'max_allowed_packet';
show variables like 'net_buffer_length';
两个结果分别是:1047552 和 16384

从JQ1上导出数据:
mysqldump -uroot -pXXX 方案名 --skip-opt --create-option --set-charset --default-character-set=gbk -e
--max_allowed_packet=1047552 --net_buffer_length=16384 > 导出的文件路径和文件名

注意:max_allowed_packet和net_buffer_length不能比目标数据库的设定数值大,否则可能出错。

-e 使用包括几个VALUES列表的多行INSERT语法;
--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
--net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。

也就是此参数指定了一个缓存区的大小,用来存放用户发送的SQL语句。若接收的SQL语句大于这个缓存区,则自动增加大小,直到max_allowed_packet

将导出的数据导入至JQ2中
./mysql -uroot -pXXX --default-character-set=gbk 方案名<导出的文件路径和文件名
这样导入相当于每次执行多条sql语句,快了很多
分享到:
评论
1 楼 Alexniver 2014-06-03  
官方文档。
When importing data into InnoDB, turn off autocommit mode, because it performs a log flush to disk for every insert. To disable autocommit during your import operation, surround it with SET autocommit and COMMIT statements:

SET autocommit=0;
... SQL import statements ...
COMMIT;

http://dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-bulk-data-loading.html

相关推荐

    MySQL 导入慢的解决方法

    ### MySQL导入慢的解决方法 在处理MySQL数据库的导入导出操作时,经常会遇到导入速度缓慢的问题,尤其是在处理大量数据时。本文将详细介绍如何通过合理的参数设置来优化MySQL的导入导出过程,从而显著提高效率。 #...

    大数据量测试数据(MySQL)

    提供的压缩包文件包含了一系列的SQL脚本和数据备份,用于创建表格、导入数据并进行性能测试。 首先,`employees.sql` 文件是核心,它包含了创建表的DDL(Data Definition Language)语句以及可能的数据插入语句。当...

    快速解决mysql导数据时,格式不对、导入慢、丢数据的问题

    总的来说,解决MySQL导入数据时的问题需要理解数据格式、编码、数据类型和导入工具的使用。通过合理调整和优化,可以有效地提高导入效率,减少错误,确保数据的完整导入。在处理大数据量时,尤其要注意分批处理和...

    mysql慢日志导入数据库表中

    在MySQL环境中,将这些日志直接导入到数据库表中,可以方便地进行数据分析,以便更好地理解和优化SQL性能。下面将详细介绍如何实现这个过程,以及相关的知识点。 1. **MySQL慢查询日志** MySQL慢查询日志以纯文本...

    用SQL语句解决mysql导入大数据文件的问题

    总之,解决MySQL导入大数据文件问题的关键在于避开网络上传的限制,直接在服务器端执行导入操作。理解这一原理并掌握相应的命令行技能,对于高效管理大型数据库至关重要。同时,根据实际情况选择合适的解决方案,如...

    Mysql的longblob字段插入数据问题解决

    总之,解决MySQL `LONGBLOB`字段插入数据问题的关键在于理解和调整`max_allowed_packet`配置,同时注意客户端和服务器端都需要进行相应的设置。通过以上步骤,可以有效地解决因数据包过大而引发的插入异常。

    Zabbix结合插件percona监控Mysql数据模板

    总的来说,通过Zabbix结合Percona插件监控MySQL数据模板,我们可以实现对MySQL数据库的全面监控,及时发现并解决问题,保障数据库服务的稳定性和效率。在实际运维中,不断调整和优化这些模板,使之更贴合业务需求,...

    泛微E9数据中心技术支持常见问题.docx

    解决方案:了解数据集合引用的接口的维护方法,确保正确地维护数据集合引用的接口。 泛微E9数据中心技术支持常见问题的解决方案涵盖了泛微E9数据中心技术支持的各个方面,帮助开发者和用户更好地理解和使用泛微E9...

    导入大文件到数据库最快的方法

    当面对GB级别的数据时,常规的导入方法可能会遇到性能瓶颈或者内存限制问题。针对这个主题,我们将深入探讨“导入大文件到数据库最快的方法”,特别是针对MySQL数据库,并且会特别关注如何在虚拟主机环境中处理中文...

    关于mysql的一些常见问题和解决方案

    ### 关于MySQL的一些常见问题和解决方案 #### 一、连接问题 **问题描述:** - 无法连接到 MySQL 服务器。 **解决方案:** 1. **检查 MySQL 服务器状态:** 确认 MySQL 服务器是否正在运行。可以通过命令 `service ...

    mysql高效导数据的方法讲解

    如果单线程导入数据速度过慢,可以考虑并行导入。但并行导入可能导致锁冲突或数据不一致。为了解决这个问题,可以采用以下策略: - **分批导入**:将大文件分成多个小文件,然后并行导入。 - **独立导入到不同的...

    SQL大文件导入数据库的最佳利器 faisunSQL

    FaisunSQL是一款专门设计用于解决SQL文件过大,传统导入方法速度慢或内存不足等问题的工具。以下将详细介绍该工具及其相关的知识点。 首先,我们需要理解SQL文件通常包含创建表的DDL语句以及插入数据的DML语句。当...

    超级列表框读MYSQL数据库 11W 条数据只要2秒-易语言

    2. **分批次加载**:一次性加载11万条数据可能导致内存压力过大。因此,可能采用了分批次加载(也称为懒加载)的方法,只在用户滚动到可视区域时加载相应的数据行,降低内存占用。 3. **数据缓存**:数据可能会被...

    MySql可视化管理工具

    - **数据导入导出**:支持从CSV、Excel等格式导入数据,或将数据导出为各种格式。 4. 用户权限管理: - **用户管理**:创建、修改和删除MySQL用户,分配权限,控制访问控制。 - **角色管理**:定义角色,批量...

    MySQL学习之备份恢复MySQL巡检问题记录

    在MySQL的备份方面,有多种方法可以实现数据的保护: 1. **全量备份**:这是最基础的备份方式,通过mysqldump工具执行SQL语句来导出所有数据库或特定数据库的结构和数据。例如,`mysqldump -u username -p password...

    从MySQL到Redis的简单数据库迁移方法

    一个约八百万行数据的mysql表,原本导入到redis中需要90分钟,使用这个方法后,只需要两分钟。不管你信不信,反正我是信了。 Mysql到Redis的数据协议 redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令...

    MySQL介绍和优化分享

    2. 规范化数据导入导出:批量数据操作时,使用LOAD DATA INFILE代替INSERT语句,可显著提升速度。 3. 定期分析和优化表:ANALYZE TABLE和OPTIMIZE TABLE命令可更新统计信息和重构数据文件,保持数据库高效运行。 ...

    MySQL的安装配置教程

    - 导入数据:使用 `mysql` 命令行工具或 `mysqlimport` 工具。 - 导出数据:使用 `mysqldump` 工具进行数据备份。 5. **优化与调优** - 调整 MySQL 的配置文件(my.cnf)中的参数,以提高性能。 - 使用慢查询...

    mysql面试题.docx

    慢查询是指执行时间过长的 SQL 语句,通过 EXPLAIN 分析执行计划,优化索引,调整 SQL 语句等方式进行优化。数据库安全设置和用户权限管理包括创建用户、设置密码、授权操作、限制访问权限等,确保数据的安全性。

Global site tag (gtag.js) - Google Analytics