暂无图片
MySQL 8.0.34 IO利用不如MySQL 5.7.34
我来答
分享
Mr jun
2023-12-20
MySQL 8.0.34 IO利用不如MySQL 5.7.34

在同样的服务器上,同样大小的表,mysql 5.7.20 执行alter table tab02 engine=innodb; 服务器的iops可以达到 1万,mysql 8.0.34 执行alter table tab02 engine=innodb; iops就只能达到3千。

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
yBmZlQzJ

这种情况可能是由于MySQL 8.0.34版本对InnoDB引擎的性能优化导致的。在MySQL 8.0.34中,InnoDB引擎的默认配置可能与MySQL 5.7.20有所不同,导致性能下降。

为了解决这个问题,你可以尝试调整InnoDB引擎的配置参数,以提高性能。例如,你可以增加以下参数:

  1. innodb_buffer_pool_size:设置InnoDB缓冲池的大小,以便为表和索引分配更多的内存空间。
  2. innodb_log_file_size:设置InnoDB日志文件的大小,以便存储更多的事务信息。
  3. innodb_flush_method:设置InnoDB刷新策略,以便更频繁地将缓冲池中的更改写入磁盘。

你可以通过修改MySQL配置文件(my.cnf或my.ini)来调整这些参数。例如:

        

复制代码

[mysqld] innodb_buffer_pool_size = 2G innodb_log_file_size = 2G innodb_flush_method = O_DIRECT

复制

然后重启MySQL服务器以使更改生效。

请注意,调整这些参数可能需要根据你的服务器硬件和工作负载进行调整。在调整参数之前,请确保备份你的数据库和配置文件,以防止意外数据丢失或损坏。

暂无图片 评论
暂无图片 有用 2
打赏 0
张sir

1、两个数据库配置一样么?

2、执行的alter操作耗时一样么?

暂无图片 评论
暂无图片 有用 0
打赏 0
Mr jun

两个数据库的配置一致,执行耗时MySQL 8更长,MySQL 8的CPU会更高,IO更低。

暂无图片 评论
暂无图片 有用 0
打赏 0
伟鹏

在MySQL 8.0.34中,InnoDB引擎的默认缓冲池大小可能较小,这可能导致性能下降。你可以尝试调整InnoDB引擎的缓冲池大小来提高性能,innodb_buffer_pool_size修改后重启一下,再试试

暂无图片 评论
暂无图片 有用 0
打赏 0
Mr jun

innodb_buffer_pool_size配置都是一样的

暂无图片 评论
暂无图片 有用 0
打赏 0
心血来潮的倔驴

这不是说明8.0的性能更好么

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交