4.1:增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,MySQL.user表采用了更好的加密算法。
5.0:增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库。
5.1:增加了Event scheduler,Partitioning,Pluggable storage engine API,Row-based replication、Global级别动态修改general query log和slow query log的支持。
5.5:
1,默认存储引擎更为InnoDB
2,提高性能和可扩展行
a:提高了默认线程并发数
b:后台输入/输出线程控制
c:主线程输入/输出速度控制
d:操作系统内存分配程序使用控制
e:适应性散列suoyin(Hash Index)控制,用户可以关闭适应性散列功能
f:插入缓冲(Insert Buffering)控制,用户可以关闭innodb的插入缓冲功能
g:通过快速加锁算法提高可扩展行,innodb不再使用代理线程,而是使用原生的独立操作来完成互斥和读写锁定
h:恢复组提交
i:提高恢复性能
j:多缓冲池实例
k:多个回滚段,之前的innodb版本最大能处理1023个并发处理操作,现在mysql5.5可以处理高达128k的并发事务
l:Linux系统固有的异步输入/输出,mysql5.5数据库也提高了linux系统的输入输出请求的并发数
m:扩展变化缓冲,添加了删除缓冲和清除缓冲
n:改善了日志系统互斥和单独刷新列表互斥
o:改善清除程序进度,在mysql5.5中清除操作线程是独立的线程,并支持并发,可以使用innodb_purge_treads配置
p:改善事务处理中的元素数据锁定,例如,事物中一个语句需要锁一个表,会在事物结束时释放这个表,而不是像以前在语句结束时释放表
3,提高实用性
a:半同步复制
b:复制Heartbeat
c:中继日志自动恢复
d:根据服务器过滤项复制
e:从服务器复制支持的数据类型转换
4,提高易管理性和效率
a:建立快速索引
b:高效的数据压缩
c:为大物件和可变长度列提高高效存储
d:增加了INFORMATION_SCHEMA表,新的表提供了与InnoDB压缩和事务处理锁定有关的具体信息
5,提高可用性
a:针对SIGNAL/RESIGNAL的新SQL语法
b:新的表/索引分区选项,MySQL5.5将表和索引RANG和LIST分区范围扩展到了非整数和日期,并添加了在多个列上分区的能力。
6,改善检测和诊断
Mysql5.5引入了一种新的性能架构,用于监控mysql监控服务器运行时的性能
5.6:
1,InnoDB现在可以限制大量表打开的时候内存占用过多的问题
2,InnoDB性能加强,如分拆kernel mutex;flush操作从主线程分离;多个perge线程;大内存优化等
3,InnoDB死锁信息可以记录到error日志,方便分析
4,MySQL5.6支持延时复制,可以让slave跟master之间控制一个时间间隔,方便特殊情况下的数据恢复
5,表分区功能增强
6,MySQL行级复制功能加强,可以降低磁盘、内存、网络等资源开销
7,Binlog实现
8,复制时间采用crc32校验,增强master/slave复制数据一致性
9,新增log_bin_basename