
正文
mysql导入数据库太慢,mysql 导入数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么连接本地mysql数据库很慢
问题分析考虑到可能是程序性能问题后,我使用了xdebug的性能日志功能输出程序运行日志后发现连接mysql的函数时间居然用掉了接近95%的执行时间。
第一是 机器本身有太多的进程或者服务导致cpu占有两次太高 或者硬盘老化 冗余数据较多 查询结果缓慢 第二还有可能是 mysql的设置或者sql语句本身的问题了 看是哪方面的。
MySQL 下崩溃恢复确实和表数量有关,表总数越大,崩溃恢复时间越长。另外磁盘 IOPS 也会影响崩溃恢复时间,像这里开发库的 HDD IOPS 较低,因此面对大量的表空间,校验速度就非常缓慢。
观测手法也就那么几种,我们把服务器的资源全部都观察一圈就可以了。第三,如果实在搞不定,需求方一定要按照数据库容易接受的方式去写SQL,这个成本会下降的非常快,这个是常规的MySQL慢的诊断思路。
相关问答
Q1: 为什么mysql导入数据库需要很长的时间~~~
1、FTOM TMPXXX)把数据插入,这样速度会快一点,如果想更快,需要减少不必要的索引,如果大批量的插入,可以插入前删除索引,插入后重新建立。
2、这个是需要做一些设置的。主要设置 rewriteBatchedStatements参数。原理如下:MySQL Jdbc驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,直接造成较低的性能。
3、你打开那个.sql文件看过没有,不仅仅只有数据,还包含表结构。在导入的时候先是创建表,然后再插入数据的。
Q2: mysql数据库插入数据很慢
sql语句中,添加记录的语法为:insert into 表名 (col1,col..coln)values(value1,value..valuen);其中,如果你插入的每一列都是顺序插入,无一缺漏的话,(col1,col..coln)可以省略。
使用压缩了的客户机/服务器协议以减少网络数据流量。对于大多数MySQL客户机,可以用--compress 命令行选项来指定。它一般只用于较慢的网络,因为压缩需要占用大量的处理器时间。
硬盘读写速度会影响输入库的写入速度的,另外看看你的mysql是不是加了好多索引,或者是不是远端数据库。。
MySQL Jdbc驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,直接造成较低的性能。
Q3: 有没有提高mysql数据库insert速率的方法
sql语句中,添加记录的语法为:insert into 表名 (col1,col..coln)values(value1,value..valuen);其中,如果你插入的每一列都是顺序插入,无一缺漏的话,(col1,col..coln)可以省略。
对于MyISAM引擎表常见的优化方法如下: 禁用索引。对于非空表插入记录时,MySQL会根据表的索引对插入记录建立索引。如果插入大量数据,建立索引会降低插入记录的速度。
经过对MySQL的测试,发现一些可以提高insert效率的方法,供大家参考参考。 一条SQL语句插入多条数据。
让MySQL插入缺省值 不要在INSERT 语句中指定将以任意方式赋予缺省值的列。平均来说,这样做语句会更短,能减少通过网络传送给服务器的字符数。此外,语句包含的值较少,服务器所进行的分析和转换就会较少。
这里第二种SQL执行效率高的主要原因是合并后日志量(MySQL的binlog和innodb的事务让日志)减少了,降低日志刷盘的数据量和频率,从而提高效率。通过合并SQL语句,同时也能减少SQL语句解析的次数,减少网络传输的IO。
需要将大量数据(大概5W条)插入MySQL数 据库,用普通的SQL Statement执行,时间大概是几分钟。于是想到用PreparedStatement,但是改了之后发现效率并没有很大的提升。
Q4: mysql大量数据插入慢的问题
其中,如果你插入的每一列都是顺序插入,无一缺漏的话,(col1,col..coln)可以省略。
正是由于性能的瓶颈问题,MYSQL官方文档也就提到了使用批量化插入的方式,也就是在一句INSERT语句里面插入多个值。
bitsCN.comMySQL如何快速插入大量数据这几天尝试了使用不同的存储引擎大量插入MySQL表数据,主要试验了MyISAM存储引擎和InnoDB。下面是实验过程: InnoDB存储引擎。
MySQL Jdbc驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,直接造成较低的性能。
插入数据会非常慢,建议插入到临时表,然后用一个语句(INSERT INTO XXX SELECT FTOM TMPXXX)把数据插入,这样速度会快一点,如果想更快,需要减少不必要的索引,如果大批量的插入,可以插入前删除索引,插入后重新建立。
需要将大量数据(大概5W条)插入MySQL数 据库,用普通的SQL Statement执行,时间大概是几分钟。于是想到用PreparedStatement,但是改了之后发现效率并没有很大的提升。
Q5: 为什么我的mysql导入sql文件很慢,3000多条的insert语句都要5分钟,我...
对delete和update,驱动所做的事就是把多条sql语句累积起来再一次性发出去;而对于insert,驱动则会把多条sql语句重写成一条风格很酷的sql语句,然后再发出去。
你打开那个.sql文件看过没有,不仅仅只有数据,还包含表结构。在导入的时候先是创建表,然后再插入数据的。
然后重启Mysql,就可以按普通的方法导了,可以用mysql命令,也可以用navicat for mysql(我一般用这个)不知道能不能写成100G,没试过,LZ试下吧。
sql本质就是文本的sql指令,就是使用数据库引擎来执行逐条导入的,没什么好的办法,一般在50w条数据在2小时内可以导完,看你的机器了,建议在至强机器上跑。
修改sql语句执行时间,可能是超时了。另外就算设置了超时时间,ie网页也有5分钟超时的限制,所以大数据的写入最好做成.exe的文件。
MySQL数据库插入速度调整补充资料:MySQL 从最开始的时候 1000条/分钟的插入速度调高至 10000条/秒。 相信大家都已经等急了相关介绍,下面我做调优时候的整个过程。
mysql导入数据库太慢的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql 导入数据、mysql导入数据库太慢的信息别忘了在本站进行查找喔。






