前言
MySQL领域存在着众多的衍生版数据库,主流的有官方Mysql,MariaDb,Percona Server。
各个版本在主要功能的支持上大体相同,各自内部具体实现方式会有区别。
本文记录的版本特性是基于官方Mysql,主要参考mysql官方文档手册,主要记录下与开发相关的特性,如果要查询完整特性,可以查看最后记录的官方说明文档
版本特性
5.6

InnoDb 开始支持全文索引
InnoDb 支持设置页面大小

通过innodb_page_size 指定,默认是16KB,对于工作负载和存储设备(尤其是具有小块大小的SSD设备)的 某些组合,较小的页面大小可以帮助避免冗余或低效的I / O

InnoDB redolog总大小的限制从之前的4G扩展至512G
InnoDB现在可以限制大量表打开的时候内存占用过多的问题(比如这里提到的)(第三方已有补丁)
InnoDB性能加强。如分拆kernel mutex;flush操作从主线程分离;多个perge线程;大内存优化等
InnoDB死锁信息可以记录到 error 日志,方便分析
优化器性能提升,引入了ICP,MRR,BKA等特性,针对子查询进行了优化
Undo Log可保存在独立表空间中,因其是随机IO,更适合放到SSD中。但仍然不支持空间的自动回收
支持Online DDL。ALTER操作不再阻塞DML
MySQL现在支持延迟复制,以便从属服务器故意落后于主服务器至少指定的时间量。默认延迟为0秒
之前,TIMESTAMP每个表最多可以自动将一列初始化或更新为当前日期和时间,目前已没有该限制

5.7

支持组复制和InnoDB Cluster
支持多源复制
支持在线修改Buffer pool的大小
支持UNDO表空间的自动回收
查询优化器的增强与重构,提升性能
可查看当前session正在执行的SQL的执行计划(EXPLAIN FOR CONNECTION)
优化了Performance Schema,其内存使用减少
原生支持JSON类型,并引入了众多JSON函数
可设置SELECT操作的超时时长(max_execution_time)
引入了innodb_deadlock_detect选项,在高并发场景下,可使用该选项来关闭死锁检测
GIS的增强,包括使用Boost.Geometry替代之前的GIS算法,InnoDB开始支持空间索引

8.0

提高性能:官宣比5.7快2倍
PERFORMANCE_SCHEMA查询性能提升,其已内置多个索引
支持不可见索引(Invisible index)
支持降序索引
引入了innodb_dedicated_server选项,可基于服务器的内存来动态设置innodb_buffer_pool_size,innodb_log_file_size和innodb_flush_method
支持秒加字段(Instant add column)功能
JSON字段的部分更新(JSON Partial Updates)
支持自增主键的持久化
默认字符集由latin1修改为utf8mb4
默认开启UNDO表空间,且支持在线调整数量(innodb_undo_tablespaces)。在MySQL 5.7中,默认不开启,若要开启,只能初始化时设置
Redo Log的优化,包括允许多个用户线程并发写入log buffer,可动态修改innodb_log_buffer_size的大小
默认的内存临时表由MEMORY引擎更改为TempTable引擎,相比于前者,后者支持以变长方式存储VARCHAR,VARBINARY等变长字段。从MySQL 8.0.13开始,TempTable引擎支持BLOB字段
SELECT … FOR SHARE和SELECT … FOR UPDATE语句中引入NOWAIT和SKIP LOCKED选项,解决电商场景热点行问题
正则表达式的增强,新增了4个相关函数,REGEXP_INSTR(),REGEXP_LIKE(),REGEXP_REPLACE(),REGEXP_SUBSTR()
查询优化器在制定执行计划时,会考虑数据是否在Buffer Pool中。而在此之前,是假设数据都在磁盘中
GROUP BY语句不再隐式排序
增加了对于客户端报错信息的统计(performance_schema.events_errors_summary_xxx)
BLOB, TEXT, GEOMETRY和JSON字段允许设置默认值

参考资料
MySQL 5.6的新增功能
MySQL 5.7的新增功能
Mysql 8.0的新增功能

作者:郝琳
链接:https://juejin.cn/post/6844904110563524615
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Mysql 各版本特性相关推荐

  1. mysql主流使用版本_简述3个主流MySQL版本特性

    MySQL作为一个关系型数据库管理系统,在数据处理方面有其独特的优势.MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,使得MySQL占 ...

  2. mysql5.0版本特性_mysql各版本的新特性整理

    mysql各版本的新特性整理 一.各版本的常用命令差异 show innodb status\G mysql-5.1 show engines innodb status\G mysql-5.5 关于 ...

  3. MySQL安装版本Navicat连接报错2509解决方案

    MySQL安装版本Navicat连接报错2509解决方案 [问题产生] 新安装后打开数据库连接报错 [产生原因] 由于新版本的MySQL新特性导致的. mysql> select Host,Us ...

  4. 简单梳理一下MySQL多版本并发控制原理

    1 事务的基本概念 1.1 事务 用户定义的一个数据库操作序列,这些操作要么全部都做,要么全不做,是一个不可分割的工作单位.事务是恢复和并发控制的基本单位. 1.2 事务的4个特性 原子性(Atomi ...

  5. 关于MySQL的版本

    MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择. 1. MySQL Community Server 社区版本,开源免费, ...

  6. MySQL 8.0,MySQL 5.7,MySQL5.6,MySQL 5.5 特性对比

    文章目录 MySQL 5.5 特性,相对于 5.1 MySQL 5.6 特性,相比于 5.5 MySQL 5.7 特性,相比于 5.5 5.6 MySQL 8.0 特性,相比于 5.7 MySQL 5 ...

  7. 墨天轮访谈 | SelectDB 衣国垒:Apache Doris(incubating)1.0版本特性解析与未来规划

    分享嘉宾:衣国垒 Apache Doris Committer.SelectDB 联合创始人&CTO 整理:墨天轮社区 导读 大家好,我是来自Apache Doris社区的衣国垒,也是Sele ...

  8. java11 是长期支持_这里有你不得不了解的Java 11版本特性说明

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  9. mysql版本 时间_【MySQL】MySQL版本时间线和MySQL各版本的区别

    MySQL各版本的区别 https://yq.aliyun.com/articles/607474 http://blog.sina.com.cn/s/blog_62b37bfe0101he5t.ht ...

最新文章

  1. JSP中的EL表达式详细介绍
  2. Scanpy(一)AnnData数据结构与一些API用法介绍
  3. LINUX服务器开启防火墙并屏蔽恶意IP
  4. 自己动手构造编译系统:编译、汇编与链接2.1.3 符号表管理
  5. “约见”面试官系列之常见面试题之第九十三篇之vue获取数据在哪个周期函数(建议收藏)
  6. python-pass
  7. 和catch的区别_BIO、NIO、AIO 的区别是什么?
  8. php cms专题,在phpcms中给专题每个不同分类设置独立模板
  9. 中国大学慕课python答案第七章_中国大学慕课用Python玩转数据章节测试答案
  10. Java classLoader【转】
  11. scrapy setting
  12. 8 -- 深入使用Spring -- 4...3 AOP的基本概念
  13. CPU acceleration status:HAXM must be updated(version 1.1.16.0.1)
  14. Vue:列表渲染 v-for on a template
  15. 双硬盘双win10互不干扰_双硬盘装WIN7 WIN10双系统
  16. Win10的Linux子系统Ubuntu安装图形界面
  17. N76E003读24C64程序
  18. Tomcat : 修改Tomcat端口号
  19. Python操作Excel的Xlwings教程(八)——Excel使用VBA调用Python
  20. ros dwa局部路径规划原理

热门文章

  1. 高新企业认定八大领域之资源与环境的技术细分!
  2. Retrofit+OkHttp+RxAndroid
  3. 使重复的Spring-MVC的url-mapping具有优先级
  4. js的原型是什么意思
  5. 内皮细胞培养基 LONZA EGM-2-内皮细胞培养基说明书
  6. js中的break和continue
  7. 物联网产品CPU核心板,助力嵌入式培训和物联网开发
  8. JavaScript 国庆倒计时小案例
  9. 第7篇:SELECT条件查询
  10. 赛马网基本算法之--公交车乘客