MySQL8.0十大新特性

1.临时表的改进
2.持续的全局变量
3.取消默认的MyISAM系统表
4.UNDO空间回收
5.UTF8性能改进
6.取消Query Cache
7.原子DDL
8.更快、性能更好额Schema和information Scheam
9.角色管理
10.加密表空间中的REDO日志和UNDO日志

临时表改进
在mysql5.7中,所有的临时表都被创建在一个叫“ibtmp1”的表空间中,另外,临时表的元数据也将存储在内存中(不再存储在frm文件中)
在mysql8.0中,使用临时表存储引擎作为临时表(为优化join,union等操作而创建的)存储的默认引擎,从而其换掉了原有的内存存储引擎
新的引擎使得VARCHAR和VARBINARY列的存储更为高效(所有存储空间得到完全分配)。

持续的全局变量
mysql8.0现在可以设置变量并使其改变持续到服务器重新启动
使用此语法结合新的RESTART命令,可以非常容易的从shell中配置MySQL,这对云计算用户是一个十分友好的功能

取消默认MyISAM系统表
由于采用了新的本地数据字典,现在我们不再需要MyISAM系统表了
这些表和数据字典表现在都在一个mysql.idb的innodb的表空间文件中
这意味只如果你没有明确的使用MyISAM表(为了你的数据,不建议这么去做)你可以创建一个没有任何MyISAM表的mysql实例

UNDO空间回收
在mysql5.7中,我们已经可以截断UNDO空间了(设置innodb_undo_log_truncate,默认情况下禁用)。
在mysql8.0中,我们改进了磁盘格式来使得每个UNDO表有大量的UNDO段
此外,现在默认为两个单独的UNDO表空间(而非INNODB系统表空间(最小值为2,大小动态变化))中创建UNDO段

我们不推荐使用Innodb_undo_tablespaces来设置该值,因为我们将提供SQL命令让数据库管理员于UNDO表空间进行交互

自动截断UNDO表空间默认启用

UTF8性能改进
由于默认的字符集已经从

猜你喜欢

转载自blog.51cto.com/12234534/2149871