MySQL 8.0新特性中并行查询innodb及并行读取线程是怎样的
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,MySQL 8.0新特性中并行查询innodb及并行读取线程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。长久以
千家信息网最后更新 2025年11月12日MySQL 8.0新特性中并行查询innodb及并行读取线程是怎样的
MySQL 8.0新特性中并行查询innodb及并行读取线程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
长久以来MySQL没有并行查询,并且在其他数据库已经有了的情况下,MySQL终于在8.0.14版本开始有了自己的并行查询,但使用面非常的窄,只适用于并行聚集索引的count(*) 并且只是在没有where条件的情况下的查询
mysql> set local innodb_parallel_read_threads=1;Query OK, 0 rows affected (0.00 sec)mysql> select count(*) from ontime;+-----------+| count(*) |+-----------+| 177920306 |+-----------+1 row in set (2 min 33.93 sec)mysql> set local innodb_parallel_read_threads=DEFAULT; -- 4 is defaultQuery OK, 0 rows affected (0.00 sec)mysql> select count(*) from ontime;+-----------+| count(*) |+-----------+| 177920306 |+-----------+1 row in set (21.85 sec)mysql> set local innodb_parallel_read_threads=32;Query OK, 0 rows affected (0.00 sec)mysql> select count(*) from ontime;+-----------+| count(*) |+-----------+| 177920306 |+-----------+1 row in set (5.35 sec)
任何事情没有一开始就完美,而是日复一日的坚持,对MySQL来说,这是一个很好的开端,并为真正的并行查询执行开辟了一条道路。
下面是我的测试结果
mysql>set local innodb_parallel_read_threads = 1;执行成功,耗时:8 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:2275 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:2316 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:2191 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:2196 ms.mysql>set local innodb_parallel_read_threads = 16;执行成功,耗时:8 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:594 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:557 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:570 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:594 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:582 ms.mysql>set local innodb_parallel_read_threads=32;执行成功,耗时:9 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:265 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:251 ms.mysql>set local innodb_parallel_read_threads=64;执行成功,耗时:9 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:340 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:363 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:306 ms.mysql>set local innodb_parallel_read_threads=32;执行成功,耗时:9 ms.mysql>select count(*) from PARALLELTEST;+--------------------+| count(*) |+--------------------+| 9175040 |+--------------------+返回行数:[1],耗时:276 ms.
和文章中的结论一致,但是我参数设置到64的360ms 时反而比32时200多ms慢,也是符合预期的,与Oracle类似
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
查询
成功
情况
文章
帮助
特性
线程
清楚
一致
长久
日复一日
长久以来
内容
参数
只是
对此
开端
数据
数据库
新手
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
bartender数据库共享
群晖可做云服务器吗
软件开发入门工作内容
阿里云数据库登陆
河南三联网络技术
qq飞车与服务器断开连接
合肥合同管理软件开发平台
数据库图标的数据库工具
livecoin.org服务器
软件开发性
n11怎么修复数据库
车载网络技术第一章填空题
网络技术对运营管理的影响
mysql 数据库的语句
hibernate连接数据库
数据库的数据源可以是
服务器两块硬盘分区总有一块脱机
利用知识图谱整合数据库
网站服务器怎么更换
软件开发中服务器由谁提供
软件开发人员技术提升
中国银行软件开发社招准备
浙江浪潮服务器维修技术
网络技术的科技成果
服务器的配置和数据库有关系吗
腾讯网络技术岗位面试题
奥的斯扶梯服务器
戴尔14代服务器有哪些型号
王牌战争如何开创一个服务器
甘肃电脑服务器托管虚拟主机