MySQL 8.0 可落地新特性详解

    MySQL 最新版本已更新到8.0.19(这篇笔记写完的时候更新版本是8.0.18),下面列举了几个重要新特性,可落地到实际生产中,可供参考,更加详细的新特性,可以查看mysql官方文档的changelog。

一、运维效率提升

 1、快速加列功能
 功能:修改元数据,毫秒级别快速加列
 解决场景:解决改表加列时耗时长,从库延迟和binlog过多导致磁盘压力的问题。例如评论给9000+张表加列,需要改5天,并且有大量的从库延迟和磁盘报警,使用本特性可以从根本上解决此问题

 2、clone plugin
 功能:允许InnoDB在本地或从远程MySQL服务器实例克隆数据
 解决场景: 不依赖外部备份和扩容程序,操作简单、成功率高

 3、参数设置持久化
 功能:SET PERSIST var=value;之后修改内存中的参数也持久化到文件中,下次重起生效
 解决场景:修改内存参数后未落地到文件中,重启后失效的问题

 4、管理连接端口
 功能:MySQL server 为管理连接单独配置了一个端口
 解决场景:实例连接数达到max_connections后,不能连接数据库

 5、并行复制增强
 功能:基于write_set的行并行复制(5.7.22 也引入了)
 解决场景:相较于5.6基于库,5.7的logical_clock 并行复制,8.0 此特性彻底解决MySQL多年被人诟病的复制延迟问题

 6、用户管理
 功能:添加角色权限,为角色授权,然后将角色赋权给用户
 解决场景:对用户进行功能分类,节省运维管理成本

二、MySQL使用优化


 1、降序索引
 功能:降序索引键值以降序存储
 解决场景:order by a asc,b desc之前不走索引,通过降序索引的方式可以走索引,提升效率

 2、直方图
 功能:支持收集直方图信息
 解决场景:主要解决在数据倾斜的情况下,优化器选择最优的执行方式

 3、对于JSON的支持
 功能:新加JSON扩展语法,改进排序和部分更新
 解决场景:业务使用MySQL来存取JSON类型的数据,使用更友好

三、MySQL内部优化


 1、crash safe ddl
 功能:InnoDB表的DDL支持事务原子性,将DDL操作写入数据字典表 mysql.innodb_ddl_log 中用于回滚操作
 解决场景:解决之前DDL操作非原子性的问题

 2、InnoDB redo日志归档
 功能:备份速度跟不上redo log生成的速度,结果导致redo log被覆盖了,备份就无法保证一致性
 解决场景:备份结束后可以利用这期间生成的归档进行数据恢复

 3、InnoDB redo设计优化
 功能:redo_log_buffer 时并行写入
 解决场景:高并发场景下,提升写入效率
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值