GreatSQL社区

搜索

chongzh

MySQL 5.7升级到MySQL8.0后,插入和删除查询运行较慢

chongzh 已有 617 次阅读2023-9-15 16:38 |个人分类:Mysql 原理|系统分类:原理&产品解读

症状

MySQL 5.7升级到MySQL8.0后,插入和删除查询运行较慢

原因

transaction_write_set_extraction  MySQL 5.7中默认情况下该参数是禁用的 。而  MySQL 8.0中的参数发生了变化,默认值 是 XXHASH64,  当启用二进制日志记录时,这可能会导致插入和删除查询的性能下降。当 transaction_write_set_extraction  启用时,CPU使用率会稍高,这会影响更新性能。

注意:如果组复制被启用,它必须持续使用“XXHASH64”。

解决办法

建议设置transaction_write_set_extraction =OFF,然后重新启动并监视插入/删除执行时间,如果有任何改进的话。
也可以通过以下方式在线进行更改:

<code >mysql > SET GLOBAL transaction_write_set_extraction=OFF;

如果您在线更改了变量,它不会对正在复制的事务生效,直到通过“STOP REPLICA”和“START REPLICA”完全停止并重新启动复制副本。

还有其他参数可以提高性能,如下所示。

<code >mysql > SET GLOBAL innodb_use_fdatasync=ON;
  • 参数
    innodb_log_writer_threads是MySQL 8.0.22中添加的一个参数,它禁用并发日志缓冲区功能,因为该功能被认为在某些情况下会降低性能。
    针对该问题提出的相关错误:错误
    30088404-8.0的并发日志缓冲区导致低端架构上的CPU性能下降
    该变量可以通过以下命令动态更改:
<code >mysql > SET GLOBAL innodb_log_writer_threads=OFF;


评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-2 15:44 , Processed in 0.012428 second(s), 8 queries , Redis On.
返回顶部