批量向MySQL导入1000万条数据的优化

1.使用starttransaction禁用mysql自动发送,设置适当的插入批量大小并且不要一次发送部分数据。
2、修改InnoDB表的存储引擎为MyISAM。
(由于InnoDB中有redolog日志,所以每次表更新的结果都会先写入redolog,一旦redolog满了再写入磁盘,这样就停止了所有其他事务)3、最大优化SQL(一条SQL语句插入多条SQL语句)data)4.尝试顺序插入(存储)引擎底层使用的数据结构是B+树索引。
如果每条记录都插入到索引的末尾,则索引定位效率会很高,而且插入记录时索引调整也很小;索引中间需要维护B+树,索引定位效率会下降并且数据量大时会出现频繁的磁盘操作)

MYSQL8.0版本批量导入数据

使用MYSQL8.0版本组导入数据会有安全问题,并且会限制本地数据导入导出。
一种解决办法是:1、检查安全显示路径为“%secure%”2、将要导入的文件设置到安全路径;3、然后将数据加载到安全路径loaddatainfile“安全路径”中表名fieldsminatedby','ignore1lines;