怎么能提高向mysql中导入数据的速度 用php mysql开发的项目,现在遇到个问题是在向数据库中导入数据时要花很久 怎么做才能提高速度呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你目前是用什么方法导入的? LOAD DATA? set global innodb_flush_log_at_trx_commit=0; 要导入数据的是 csv格式的 这个参数没用你导入时要看你用的什么引擎对于myisam你可以先设置alter table xx disable /enable keys然后load data 这效果对于大数据会有明显提高对于innodb1可以先把你的数据按主见按顺序大致怕列,然后导入,理由是innodb会在每个主键上创建聚簇索引,你若你先大致拍一下,插入时就不用再排序,聚簇索引必须是排序的,这样会节约一点时间。但是可能不怎么明显2你把autocommit设置0这也会有点提高,在你把数据导入后记得设置为1否则导入不会成功如果 你用insert 单批执行会高很多,对于myisam还可以设置buik_insrt_buffer_siae参数 ,insert delayed也会有所提高,不过建议还是用load data 单批比多批效率高,buik_insrt_buffer_siae错了应该是bulk_insert_buffer_size solaris 64位 与32位的 mysql链接问题 关于mysql索引机制的讨论 windows下mysqldump存储过程的问题 关于mysql出错ERROR 1064 (42000) mysql如何存储超过64位的二进制串? 求一条SQL语句,各位大哥帮忙看看。。 怎么修改MySQL用户的权限? 我的SQL有问题吗? 用HEIDISQL创建触发器有问题 mysql用hibernate保存数据时,只保存了字符串的一部分 JAEE 读写 XML文件路径问题 请问如何将KEY属性改为MUL
这个参数没用
你导入时要看你用的什么引擎
对于myisam
你可以先设置
alter table xx disable /enable keys
然后load data 这效果对于大数据会有明显提高
对于innodb
1可以先把你的数据按主见按顺序大致怕列,然后导入,理由是innodb会在每个主键上创建聚簇索引,你若你先大致拍一下,插入时就不用再排序,聚簇索引必须是排序的,这样会节约一点时间。但是可能不怎么明显
2你把autocommit设置0这也会有点提高,在你把数据导入后记得设置为1否则导入不会成功
如果 你用insert
单批执行会高很多,对于myisam还可以设置buik_insrt_buffer_siae参数 ,insert delayed也会有所提高,不过建议还是用load data