用三分钟掌握MySQL核心知识

发表时间: 2024-06-14 19:09

用三分钟学会一个MySQL知识-第三十五期一:大量SQL语句文本如何快速导入到MySQL中?

Hello观众朋友们大家好,欢迎收看GreatSQL社区的第三十五期《用三分钟学会一个MySQL知识》。大量SQL语句文本如何快速导入到MySQL中?

·1、可在SQL文本前添加set session sql_log_bin=0(需要在从库也导入一次)。

·2、导入期间临时修改参数sync_binlog=10000,innodb_flush_log_at_trx_commit=0,innodb_autoinc_lock_mode=2。

·3、导入前根据业务情况看能否删除除了自增列主键外的其他索引。

·4、将SQL文件切割成多份,再并发多线程导入。

·5、若该SQL文件是每个INSERT一行,需要先行将多行合并成一行,即启用extended-insert模式。

·6、以上建议在线上环境请谨慎评估该骚操作的风险性。

·7、以上建议仅考虑尽快导入,涉及到和具体业务需求相冲突时(例如太快导入反倒会影响在线数据库性能),以实际情况为主。

·另外1、除了关闭双1改成双0外还可以关闭binlog、redo double write等,导入完毕后再开启(可能还要重启实例)。

·2、最后告诉大家一个大杀招,可以用GreatSQL的并行load data功能,导入效率大约能提升20倍。

本期视频到此结束感谢大家观看。