MySQL写速度确实不敢恭维,但是通过MySQL自带的一些功能,可以提高其写的执行效率。
1、将insert into tab(col1,col2) value(value1,value2)的单条写修改为insert into tab(col1,col2) values(value1,value2),(value3,value4),...(valueN,valueN+1)批量写
2、如果一次需要写入上百万的数据,可以先将数据安装表字段,写成文件,然后LOAD DATA INFILE "./data.txt" INTO TABLE tab;直接导入,同时可以在导入开始前关闭表索引,导入成功之后,再开启索引,
3、如果上面两个方案还是觉得慢??那就来大招了,在写入数据钱,先将查看变量innodb_flush_log_at_trx_commit是否为0,如果不是则将变量innodb_flush_log_at_trx_commit修改为0,写入完成之后,在恢复到原来的值 ,该参数表示将MySQl产生的日志写入到磁盘的策略,0表示等待系统每秒写一次,1,表示每次事务都写,同时还要刷新到硬盘,2,表示每次都写,但是不刷新到硬盘,等待操作系统自己刷新