当前位置: 首页 > news >正文

8.0 新特性 - innodb_ddl_threads

前言

MySQL 8.0.27 引入了一个新变量来控制 InnoDB 可用于创建(排序和构建)二级索引的最大并行线程数:innodb_ddl_threads 通过调整该参数,可以提升二级索引的创建速度。

参数介绍

1. innodb_ddl_threads

创建二级索引时,在排序和构建阶段,使用线程的个数,一定程度上可以加快索引的创建速度,默认为 4 个。

2. innodb_ddl_buffer_size

默认为 1 MB,该参数是避免开启很多线程后,由于内存不足导致加索引失败。

3. innodb_parallel_read_threads

默认为 4,并行读取聚簇索引的线程数,可以提升 check table 速度。

4. innodb_online_alter_log_max_size

该参数是 online DDL 中的参数,如果变更期间依然有业务请求,可能会产生大量的变更日志 innodb_ddl_threads 的使用场景肯定也是大表加索引,变更持续时间可能会更长,所以需要注意该参数的大小,如果过小会导致 DDL 变更失败,当然是在线变更的场景下。

测试结果

可以使用 mysql_random_data_load 造一张大表:

mysql_random_data_load -h127.0.0.1 -u'root' -p --max-threads=10 test test_index 100000000

下面是实验结果,可以参考:

ddl buffer sizeddl threadsparallel read theadsexecution time
1048576449 min 0.6838 sec
104857600884 min 8.3601 sec
1048576000883 min 9.1862 sec
104857600016163 min 7.4079 sec
10485760001683 min 4.1161 sec
10485760001243 min 8.7854 sec
10485760004123 min 5.9497 sec
1048576000443 min 12.2435 sec
2097152000442 min 43.6280 sec
2097152000882 min 44.6516 sec

参考资料:https://dev.mysql.com/doc/refman/8.0/en/online-ddl-parallel-thread-configuration.html

http://www.lryc.cn/news/211596.html

相关文章:

  • pgAdmin 4 v7.8 发布,PostgreSQL 开源图形化管理工具
  • Realrek 2.5G交换机 8+1万兆光RTL8373-VB-CG方案简介
  • Linux命令随笔
  • 最新版scene-builder安装
  • 直击电商商城内核!一站式解决方案
  • rabbitmq安装、基本使用
  • Amaon CloudFront助力出海业务访问优化
  • python实现ModBusRTU服务端
  • yum安装node,npm
  • ESM蛋白质语言模型系列
  • RHCE-------Day1
  • Linux(Centos7)防火墙端口操作记录
  • 【MySQL数据库】初识MySQL数据库、安装MySQL
  • Keil Map信息解析
  • 在重生奇迹MU中如何选择最佳的挂机点?
  • IT行业中的热门职业及前景展望
  • linux练习
  • 【【带有握手信号的无符号数乘法verilog+ testbench 代码】】
  • 【Python机器学习】零基础掌握BayesianRidge贝叶斯回归
  • 【机器学习】朴素贝叶斯算法基本原理与计算案例
  • redis6.0源码分析:简单动态字符串sds
  • 1.7 攻击面和攻击树
  • 解决input在谷歌浏览器自动填充问题
  • Java字节码技术
  • Java SE 学习笔记(十八)—— 注解、动态代理
  • 虚拟内存之请求分页管理
  • lazarus开发:提升sqlite数据插入速度
  • 瑞萨RH850-P1X ECM和英飞凌TC3xx SMU对比
  • Ajax学习笔记第三天
  • ESP32-C3 低功耗懒人开关:传统开关轻松上云和本地控制