MySQL 5.5, 5.6, 5.7, 8.0 特性对比

 更新时间:2024年04月22日 08:27:40   作者:M乔木  
MySQL是一个广泛使用的关系型数据库管理系统,你知道各个版本之前的区别吗,本文主要介绍了MySQL 5.5, 5.6, 5.7, 8.0 特性对比,具有一定的参考价值,感兴趣的可以了解一下

MySQL 5.5 特性

  • 性能提升:默认InnoDB plugin引擎,表与索引存储在表空间,表大小无限制。
  • 支持dynamic(主键缓存内存)与compressed(支持数据及索引压缩)行格式。
  • InnoDB file format为Barracuda。
  • 优化器改进:ICP,BKA,MRR。
  • 支持半同步Replication,增加Relay Log自我修复功能。
  • 引入红-黑树做插入排序的中间数据结构。
  • 线程池分组排队限流。

MySQL 5.6 特性

  • 默认参数改变:Back_log 排队队列,支持全文索引。
  • 支持online DDL create,alter,drop。
  • 可以在建表时指定表空间位置。
  • 整合了memcached API。
  • innodb只读事务。
  • 减少内部数据结构开销。
  • 统计信息持久化,explain语句支持insert,update,delete,replace操作,并支持JSON格式。

MySQL 5.7 特性

  • 安全性:用户表mysql.user的plugin字段不允许为空,默认值为mysql_native_password。
  • 增加密码过期机制,提供SSL安全访问配置,并且默认连接即采用SSL的加密方式。
  • 灵活性:从5.7.8版本开始,也提供了对JSON的支持。
  • 易用性:MySQL 5.7可以explain一个正在运行的SQL。
  • 可用性:在线设置复制的过滤规则、在线修改buffer pool的大小、在线开启GTID。
  • 性能:临时表的性能改进、加速连接处理、复制性能的改进(支持多线程复制)。
  • 严格性改变:默认启用STRICT_TRANS_TABLES模式。
  • 其他被默认启用的sql mode还有NO_ENGINE_SUBSTITUTION。

MySQL 8.0 特性

  • 新的系统字典表:所有的元数据都用InnoDB引擎进行存储。
  • 安全和用户管理:新增caching_sha2_password认证插件,并且是默认的身份认证插件。权限支持role,新增密码历史记录功能。
  • innodb 增强:新增INFORMATION_SCHEMA.INNODB_CACHED_INDEXES,InnoDB临时表都将在共享临时表空间ibtmp1中创建等。
  • 支持 ALTER TABLESPACE … RENAME TO 语法,支持使用innodb_directories选项在服务器脱机时将表空间文件移动或恢复到新位置。
  • 更好支持文档型数据库和JSON,不可见索引,支持降序索引,支持RANK(), LAG()、NTILE()等函数,正则表达式增强。
  • 配置文件增强:MySQL 8.0版本支持在线修改全局参数持久化。
  • 直方图:MySQL 8.0 版本开始支持期待已久直方图。
  • InnoDB性能提升:废除buffer pool mutex,行缓存,改进扫描性能。
  • 成本模型:InnoDB缓冲区可以估算缓存区中的有多少表和索引,这可以让优化器选择访问方式时知道数据是否可以存储在内存中还是必须存储到磁盘上。

 到此这篇关于MySQL 5.5, 5.6, 5.7, 8.0 特性对比的文章就介绍到这了,更多相关MySQL 特性对比内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL子查询的使用详解下篇

    MySQL子查询的使用详解下篇

    子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系。本文为大家总结了一下MySQL数据库子查询语法规则,感兴趣的可以了解一下
    2022-08-08
  • mysql查询获得两个时间的时间差方式

    mysql查询获得两个时间的时间差方式

    这篇文章主要介绍了mysql查询获得两个时间的时间差方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 利用MySQL加密函数保护Web网站敏感数据的方法分享

    利用MySQL加密函数保护Web网站敏感数据的方法分享

    如果您正在运行使用MySQL的Web应用程序,那么它把密码或者其他敏感信息保存在应用程序里的机会就很大
    2012-03-03
  • CentOS 7下使用rpm包安装mysql 5.7.18

    CentOS 7下使用rpm包安装mysql 5.7.18

    这篇文章主要为大家详细介绍了CentOS 7下使用rpm包安装mysql 5.7.18的教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • MySQL之表碎片化的问题解决

    MySQL之表碎片化的问题解决

    MySQL数据库的碎片是由于频繁的增删改查操作导致的数据块不连续或不规则分布,本文主要介绍了MySQL之表碎片化的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 利用pt-heartbeat监控MySQL的复制延迟详解

    利用pt-heartbeat监控MySQL的复制延迟详解

    这篇文章主要给大家介绍了利用pt-heartbeat监控MySQL的复制延迟的相关资料,文中详细介绍了pt-heartbeat、监控原理以及安装过程等的相关内容,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux下MySQL 5.6.27 安装教程

    Linux下MySQL 5.6.27 安装教程

    这篇文章主要为大家详细介绍了Linux下MySQL 5.6.27 安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 在CMD中操作mysql数据库出现中文乱码解决方案

    在CMD中操作mysql数据库出现中文乱码解决方案

    有说将cmd字符编码用chcp命令改为65001(utf8字符编码),可这样之后根本无法输入中文,查询出的中问结果依旧乱码 。下面小编给大家带来了在CMD中操作mysql数据库出现中文乱码解决方案,一起看看吧
    2017-09-09
  • MySQL中的锁和MVCC机制解读

    MySQL中的锁和MVCC机制解读

    MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和锁定读实现并发控制,幻读和死锁是并发事务中常见的问题,可以通过预防策略和优化技巧解决
    2025-01-01
  • MySQL 5.7中的关键字与保留字详解

    MySQL 5.7中的关键字与保留字详解

    最近在将数据从Oracle迁移到MySQL的过程中,遇到一些问题,其中就包括关键字。下面这篇文章主要给大家介绍了MySQL 5.7中的关键字与保留字的相关资料,文中介绍的非常详细,需要的朋友可以参考学习,下面来一起看看吧。
    2017-03-03

最新评论