mysql 8.0新特性 ~ 汇总
一 undo
一 undo特性改进
1 每个Undo tablespace可以有128个回滚段
2 udno tablespace可以在线进行扩缩
3 逐渐废弃配置参数innodb_undo_tablespaces并提供sql接口进行sql创建
4 mysql服务安装启动后会默认创建两个undo tablespace:
二 undo talespace管理
1 查看undo
SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE ROW_FORMAT = 'Undo'
2 在线创建undo
CREATE UNDO TABLESPACE myundo ADD DATAFILE 'myundo.ibu';
1 文件必须以ibu为结尾 2 文件创建好后就是active 3 不加路径就默认放置在uodo文件下
3 其他操作undo
1 ALTER UNDO TABLESPACE myundo SET INACTIVE; 置为不活跃
2 DROP UNDO TABLESPACE myundo; 删除(这里要注意,必须保证undo里的事务和回滚段都处理完)
二 Resource group
用资源来限制mysql的会话线程使用
前提 必须是以super用户
目标 THREAD_PRIORITY
前台用户访问线程 cpu priority从0 ~ 19
后台mysql自我处理线程 cpu priority只能从-20 ~0
查看
SELECT * FROM INFORMATION_SCHEMA.RESOURCE_GROUPS
使用
1 CREATE RESOURCE GROUP test_user_rg TYPE = USER VCPU = 0-32,48-63 THREAD_PRIORITY = 10; 创建资源组
2 方式1 SET RESOURCE GROUP test_user_rg; 设置session为资源组
方式2 select /* + RESOURCE_GROUP(test_user_rg) */ * from sbtest1 where id <10; 添加注释为资源组
总结 可以看到,通过resource group,我们可以为任意的线程指定不同的计算资源,这是之前版本无法做到的,我们可以根据此进行cpu绑定精确控制
三 内存管控
注意:在同等压力条件下,mysql8.0会比mysql5.7占用更多的内存.所以升级时要注意