MySQL各大版本新特性一览

这次应小伙伴的要求,来总结下这个 MySQL 主要版本的新特性
那么,我们一起往下看看叭~
我们直接来到官网查看

MySQL各大版本新特性一览

文章插图
 
可以看到这里有三个版本 5.6 ,5.7 ,8.0
额 既然 5.5 找不到了,那我们就记住他的主要特点:
  1. innodb 就是从 5.5 这个版本开始成为 默认的存储引擎
  2. 引入了真 UTF8 ——> utf8mb4
为什么只有两点呢? 因为 4ye 的脑瓜子就只有这两点 哈哈哈
下面开始 5.6 的探索~
5.6MySQL 5.6 Release Notes
打开上面的链接 ,如下图,这里在介绍这个新特性
MySQL各大版本新特性一览

文章插图
 
What Is New in MySQL 5.6
剩下的就不多赘述啦,简单摘录了一些,需要完整资料的小伙伴请移步到官网查看~ (建议去翻一翻 ,毕竟除了新特性,还有 innodb 整体的介绍!)
 
innodb这里对存储引擎 innodb 做了下面的增强
  1. 可以创建 全文索引
  2. 可以修改未压缩表的 InnoDB 页大小设置为 8KB 或 4KB ,默认是 16KB 注意这里只有这三个参数有效(4 ,8 ,16)。 参数: innodb_page_size
  3. InnoDB 的 redo log 文件可存储的最大值从 4g 升到 512g , 参数: innodb_log_file_size
  4. 可以设置 innodb 压缩级别 ,级别等级为 0-9 参数: innodb_compression_level
  5. Innodb 将 flush 刷盘操作从主线程移动到其他线程
  6. 默认用独立的表空间 ibd
  7. Undo Log 可以保存在独立的表空间
Partitioning这里对分区做了下面的加强
  1. 最大分区数量增加到 8192
  2. 支持显示分区选择 比如: SELECT * FROM t PARTITION (p0, p1) WHERE c < 5
MySQL NDB ClusterMysql集群,在这个版本作为独立的产品发布
注意存储引擎不是默认的 innodb ,而是 NDB
MySQL各大版本新特性一览

文章插图
 
Replication and logging复制和日志记录
  1. 可以从远程服务器读取 binlog 参数: --read-from-remote-server, -R ; --raw
  2. 延迟复制 参数: CHANGE MASTER TO
Optimizer enhancements优化器增强
  1. 就是在这里开始的,我们可以用 EXPLAIN 来查看 DELETE,INSERT,REPLACE,UPDATE等 DML 操作的执行计划 。在这之前,它只支持 SELECT 操作 。
  2. 优化子查询
  3. 主机缓存
Configuration Changes back_log
50
Autosized using max_connections
binlog_checksum
NONE
CRC32
--binlog-row-event-max-size
1024
8192
flush_time
1800 (on windows)
0
innodb_autoextend_increment
8
64
innodb_buffer_pool_instances
1
8 (platform dependent)
innodb_checksum_algorithm
INNODB
CRC32 (changed back to INNODB in MySQL 5.6.7)
innodb_concurrency_tickets
500
5000
innodb_file_per_table
0
1
innodb_old_blocks_time
0
1000
innodb_open_files
300
Autosized using innodb_file_per_table,table_open_cache
innodb_stats_on_metadata
ON
OFF
join_buffer_size
128KB
256KB
max_allowed_packet
1MB
4MB
max_connect_errors
10
100
sync_master_info
0
10000
sync_relay_log
0
10000
sync_relay_log_info
0
【MySQL各大版本新特性一览】10000
5.7innodb
  1. 增加 DATA_GEOMETRY 类型来支持空间数据类型,以前是用 blob
  2. innodb 的缓存池 dump 和 load 加强 ,允许按百分比去存储缓存池中的页面 参数: innodb_buffer_pool_dump_pct 默认值是 25
  3. InnoDB 增加了对全文解析器插件的支持 。
  4. 支持多线程来刷新缓冲池中的脏页面 内存数据页跟磁盘上数据页内容不一致,将内存页称为脏页
  5. 由于文件系统 The Fusion-io Non-Volatile Memory (NVM) 在 linux 上提供了原子操作,这导致 innodb 的 doublewrite 变得冗余,所以在该文件系统上,会自动关闭 doublewrite
  6. innodb_buffer_pool_size 参数是动态的,允许您在不重启服务器的情况下调整缓冲池的大小 。


    推荐阅读