同样的代码,在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 作用是一样的,如果一个无效,可以尝试另一个。

总结,通过该方法只能提升一部分速度:测试插入1万条,由原来的约4分钟缩减到4s。速度依然不理想,同比使用5.7测试时间不到400ms。相差近10倍。。。

MySQL 8.0 执行 insert 插入数据非常缓慢的问题及解决方法相关推荐

  1. JDBC插入数据时中文变为问号的解决方法

    出现中文变问号的代码: String url = "jdbc:mysql://localhost:3306/test"; 解决方法: String url = "jdbc ...

  2. mysql c api 函数 linux下 mysql_query_Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据...

    标签: Title:Linux C 调用MYSQL API 函数mysql_escape_string()转义插入数据 --2013-10-11 11:57 #include #include #in ...

  3. jdbc 3种获得mysql插入数据的自增字段值的方法_JDBC 3种获得mysql插入数据的自增字段值的方法...

    JDBC 3种获得mysql插入数据的自增字段值的方法. 1. Retrieving AUTO_INCREMENT Column Values using Statement.getGenerated ...

  4. 审计MySQL 8.0中的分类数据查询

    面临的挑战 通常,涉及到敏感信息时用户需要使用审计日志.不仅仅是在表上运行Select,还包括访问表中的特定单元格.通常,这类数据将包含一个分类级别作为行的一部分,定义如何处理.审计等策略. 诸如此类 ...

  5. oracle exp 无效dblink,【案例】Oracle dblink 数据库连接dblink insert插入数据时异常分析...

    天萃荷净 开发DBA反映在测试数据表插入数据,Oracle dblink两库连接插入同步数据时数据量异常 一.诡异Oracle dblink起源 今天开发拿过来一条sql,说有诡异现象,sql如下 I ...

  6. Mysql之向表中插入数据

    Mysql之向表中插入数据 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...f ...

  7. insert 插入数据

    目录 insert 插入数据(DML) 1.语法格式 insert into t_student(no) values(3); 2.指定字段的默认值 insert into t_student(no) ...

  8. MySQL Workbench 使用MySQL语法“创建表格以及插入数据”

    我们的MySQL Workbench创建表格以及插入数据共有两种方式.一种方式:通过我们自己进行手动创建表格以及插入数据.另一种方式:就是使用我们的MySQL的语法,进行创建表格以及添加数据. 下面的 ...

  9. Mysql创建表结构及插入数据代码

    Mysql创建表结构及插入数据代码 CREATE TABLE `user` (`id` int(11) NOT NULL auto_increment,`username` varchar(255) ...

最新文章

  1. 可变参数__VA_ARGS__使用和va_list使用小结
  2. 针对表单的事件;条件语句;定时器的简单介绍;
  3. 【企业管理】围绕价值创造开展人力资源管理
  4. 【转】Asp.net MVC Comet推送
  5. .sql文件如何执行_随手记 02 日志系统:一条SQL更新语句是如何执行的?
  6. 解决爬虫中文乱码问题
  7. Duplicate interface definition for class
  8. 【hibernate merge】session1.merge(T entity)方法的含义和update方法的区别
  9. linux 启动 x,(1)linux启动过程
  10. 个人支付宝收款页面,对接当面付接口
  11. web前端从无到有html标签,.NET MVC 扩展 HtmlHelper 从无到有(一)
  12. 计算机网络学习笔记:第二章
  13. 又一个脑洞实现了!索尼将推出穿在身上的空调:夏日出门必备
  14. UltraISO 创建的虚拟光驱更改盘符
  15. Django数据库配置
  16. 基于三台主机部署phpwind
  17. 【预测模型】趋势移动平均法预测发电量
  18. java复习题_JAVA复习题及答案.doc
  19. java 图片下载爬虫_java入门爬虫(爬取网页的图片下载到本地磁盘)
  20. 微信关注公众号获取用户名的方法

热门文章

  1. 新东方托福词汇(List 31 ~ List 35)
  2. soap-ws 获取wsdl中所有方法 (一)
  3. php如何做7天后自动售货店,PHP自动售货发卡网源码集成多种支付接口
  4. 关于澳洲国立大学雅思成绩的反思
  5. 蓝懿ios网络请求bock
  6. 2.4G模块NRF24L01调试经验
  7. 分治、CDQ分治小结
  8. eNSP命令大全(所有命令)
  9. 抱怨,是对自己无能的愤慨
  10. python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令