黑马程序员技术交流社区

标题: 【广州校区】Mysql8.0&Mysql5.7&Mysql5.6&Mysql5.5特性对比 [打印本页]

作者: wuwei丶    时间: 2020-2-13 15:18
标题: 【广州校区】Mysql8.0&Mysql5.7&Mysql5.6&Mysql5.5特性对比
Mysql5.5 特性,相对于Mysql5.1
性能提升
稳定性提升

Mysql5.6 特性,相比5.5



create table external (x int unsigned not null primary key)data directory = '/volumes/external1/data';

innodb改进点



优化器改进

        可以在引擎层直接过滤数据,避免二次回表
        节省BP空间,提高查询性能

        全称Batch Key Access:
        SQL通过辅助索引要访问表数据时候,将大量的随机访问放入缓存,交给MRR接口合并为顺序访问。

        全称Multi Range Read:
        在BKA算法应用之后,通过MRR接口合并随机访问为顺序访问,再去检索表数据。
        变大量随机为顺序访问。在通过辅助索引检索大量数据时,性能提升明显
        磁头无需来回寻道,page只需读取一次,且较好利用了innodb线性预读功能(每次预读64个连续page)。



Mysql5.7 特性,相比5.5 5.6
安全性
灵活性

易用性

       例如:如何查看数据库中的冗余索引;如何获取未使用的索引;如何查看使用全表扫描的SQL语句




可用性


性能

        临时表只在当前会话中可见
        临时表的生命周期是当前连接(MySQL宕机或重启,则当前连接结束)

MySQL 5.7通过 避免为只读事务分配事务ID ,不为只读事务分配回滚段,减少锁竞争等多种方式,优化了只读事务的开销,提高了数据库的整体性能。

在MySQL 5.7之前,变量的初始化操作(THD、VIO)都是在连接接收线程里面完成的,现在将这些工作下发给工作线程,以减少连接接收线程的工作量,提高连接的处理速度。这个优化对那些频繁建立短连接的应用,将会非常有用。

MySQL的默认配置是库级别的并行复制,为了充分发挥MySQL 5.7的并行复制的功能,我们需要将slave-parallel-type配置成LOGICAL_CLOCK。

严格性改变



默认参数的改变
在先前的选项下(binlog_error_action=IGNORE_ERROR),如果一个错误发生,导致无法写入binlog,mysql-server会在错误日志中记录错误并强制关闭binlog功能。这会使mysql-server在不记录binlog的模式下继续运行,导致从库无法继续获取到主库的binlog。

安装不同

Mysql8.0 特性,相比5.7
新的系统字典表
安全和用户管理


innodb 增强
MySQL 8.0更好支持文档型数据库和JSON

配置文件增强

直方图

支持会话级别SET_VAR 动态调整部分参数,有利于提升语句性能。

InnoDB性能提升

行缓存

改进扫描性能

成本模型











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2