同样的代码,在MySQL5.7上表现非常不错,到了8.0就慢得难以接受。原因是MySQL 8.0一些设置是默认开启的(5.7是默认关闭的),而这些设置有可能会严重影响数据库性能。
本题中,影响插入效率的因素是,8.0默认开启了 log-bin 功能,在确定用不到该功能的前提下,只要在配置中关闭即可。
在文件 my.ini 或 /etc/my.cnf 中,修改 mysqld 节点的内容,如下:
[mysqld]
skip-log-bin
# disable_log_bin # Linux下可使用这个
# transaction_write_set_extraction=OFF
其中 skip-log-bin 和 disable_log_bin 作用是一样的,如果一个无效,可以尝试另一个。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/notes/115168.html