# MySQL
数据库的版本
mysql-5.0
: mysql-5.0
版本之前, myisam
默认支持的表大小为 4G
。从 mysql-5.0
以后, MyISAM
默认支持 256T
的表单数据。 myisam
只缓存索引数据。 2005
年的 5.0
版本又添加了存储过程、服务端游标、触发器、查询优化以及分布式事务功能。
MySQL5.1
: 2008
年发布的 MySQL 5.1
的版本,基本上就是一个增加了崩溃恢复功能的 MyISAM
,使用表级锁,但可以做到读写不冲突,即在进行任何类型的更新操作的同时都可以进行读操作,但多个写操作不能并发。
mysql5.5
: 2010
年 12
月发布 mysql5.5
版本默认存储引擎更改为 InnoDB
多个回滚段( Multiple Rollback Segments
), 之前的 innodb
版本最大能处理 1023
个并发处理操作,现在 mysql5.5
可以处理高达 128K 的并发事务,改善事务处理中的元数据锁定。例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表。 增加了 INFORMATION_SCHEMA
表,新的表提供了与 InnoDB 压缩和事务处理锁定有关的具体信息。
# mysql5.6
2013
年 2
月发布。
-
安全性进行了加强。用户的账号和密码进行了更强的加密算法,使用
sha256_passwordSHA-256
密码哈希的身份验证插件来进行加密。mysql.user
表中新增了password_expired
字段,过期后,所有连接的执行都会报出异常。 -
MySQL Server
的参数默认值进行了更改。如下图所示:
-
mysql5.6
版本中InnoDB
可以限制大量表打开的时候内存占用过多的问题InnoDB
性能加强。如大内存优化等InnoDB
死锁信息可以记录到error
日志,
InnoDB
引擎也支持了FULLTEXT
索引。并使用MATCH() ... AGAINST
语法查询它们。ALTER TABLE
在不复制表,不阻止对表的插入,更新和删除或两者都不进行的情况下,可以执行多种操作。InnoDB
使用更快的新算法来检测 死锁 -
分区功能
- 分区的最大数量增加到
8192
。此数量包括表的所有分区和所有子分区。
- 分区的最大数量增加到
-
复制和日志记录
MySQL
现在支持使用全局事务标识符(也称为GTID
)进行基于事务的复制 。这样,当每个事务在原始服务器上提交并被任何从属服务器应用时,就可以识别和跟踪每个事务。MySQL
基于行的复制从该版本开始支持行图像控制
-
优化器增强功能
limit
查询进行了优化,如果N
行元素小于排序缓冲区,那么就使用内存排序而不是合并文件。- 优化器可以更有效地处理
FROM
子句中的子查询 (即派生表)。FROM 子句中子查询的实现 被推迟到查询执行期间需要其内容时为止,从而提高了性能。在查询执行期间,优化器可以将索引添加到派生表中,以加快从中获取行的速度。
-
数据类型
MySQL
从5.6
开始允许TIME
,DATETIME
和TIMESTAMP
值的小数秒,精度高达微秒(6
位)。- 取消了每个表最多可以自动将
TIMESTAMP
列初始化或更新为当前日期和时间的限制。任何TIMESTAMP
列定义都可以具有DEFAULT CURRENT_TIMESTAMP
和ON UPDATE CURRENT_TIMESTAMP
子句的任意组合。此外,这些子句现在可以与 DATETIME 列定义一起使用。
- 取消了每个表最多可以自动将
-
主机缓存。
MySQL
现在提供有关客户端连接到服务器时发生错误的原因的更多信息,以及对主机缓存的改进访问,该缓存包含客户端IP
地址和主机名信息,用于避免DNS
查找。
# mysql5.7
-
将
Undo
从共享表空间ibdata
文件中分离出来,可以在安装MySQL
时由用户自行指定文件大小和数量。 -
增加了
temporary
临时表空间,里面存储着临时表或临时查询结果集的数据。 -
Buffer Pool
大小可以动态修改,无需重启数据库实例,这是DBA
的福音。
# MySQL 8.0 版本新特性如下:
-
将
InnoDB
表的数据字典和Undo
都从共享表空间ibdata
中彻底分离出来了,以前需要ibdata
文件中数据字典与独立表空间ibd
文件中数据字典一致才行,8.0
版本就不需要了。 -
temporary
临时表空间也可以配置多个物理文件,而且均为InnoDB
存储引擎并能创建索引,这样加快了处理的速度。 -
用户可以像
Oracle
数据库那样设置一些表空间,每个表空间对应多个物理文件,每个表空间可以给多个表使用,但一个表只能存储在一个表空间中。
# 最后
期望与你一起遇见更好的自己