MySQL5.0、5.1、5.5、5.6功能进化

目前线上使用的版本情况:新上线端口统一使用5.5,不说别的,一个快速恢复重启就值回票价。但因为历史原因还有大量5.1的版本,甚至,I’am sorry,还有少数5.0的版本。 至于5.0以前的版本,你是从唐朝穿越过来的吗?

3.23 2001

4 2003

5.0 2006 5.0.96GA
1,视图,触发器,存储过程和存储函数
2,游标
3,xa分布式事务
2,Federated引擘

5.1 2008 5.1.63GA
1,Sun收购后的版本
2,分区表
3,行复制.
4,BerkeleyDB移出
5,Federated were deprecated
6,Oracle推出InnoDB plugin版本
7,Event
8,Plugin API
9,Pluggable storage engine API
10,日志表
11,加强information_schema
12,mysqlslap
13,慢查询阀值可设置为毫秒

5.5 2010 5.5.25GA
1,Oracle收购后的版本
2,InnoDB变为默认引擘
3,加入performance_schema库,监控MySQL服务器运行时的性能
4,半同步复制
5,多缓冲池实例
6,Supplementary Unicode characters
7,多核利用率提高
8,加强SHOW ENGINE INNODB STATUS输出
9,分区支持新增RANGE COLUMNS,LIST COLUMNS
10,ALTER TABLE … TRUNCATE PARTITION
11,TO_SECONDS() function
12,编译采用cmake
13,多个回滚段(Multiple Rollback Segments)
14,提高了默认线程并发数,设置innodb_thread_concurrency
15,后台输入/输出线程控制,设置innodb_read_io_threads和innodb_write_io_threads
16,主线程输入/输出速率控制,设置innodb_io_capacity
17,可以关闭适应性散列索引功能
18,可以关闭InnoDB的插入缓冲
19,恢复组提交(Restored Group Commit)
20,快速恢复重启
21,MySQL 5.5为基于Linux和Windows的数据库系统提供了真实的异步输入/输出支持。如果新的默认设置与主机输入/输出子系统不兼容,要使用该功能,需要在Linux系统中安装libaio用户空间库,并配置innodb_use_native_aio选项参数(该参数可以关闭)
22,使用innodb_change_buffering配置参数来控制删除缓冲和既有插入缓冲功能,默认在所有的系统中都使用
23,每一个缓冲池实例都有一个单独的刷新(Flush)列表互斥,从而进一步减少了争用
24,设置innodb_purge_threads配置参数来选择清除操作是否使用单独线程
25,禁止会话执行另一个会话中,未完成事务处理正在使用的表格中的DDL语句,能够保证事务处理的串行化
26,Linux系统中,在高事务处理频率和连接负载的情况下,MySQL5.5在处理只读(Read Only)操作时的性能和可扩展性是MySQL5.1的200%,处理读/写操作时的性能和可扩展性是MySQL5.1的370%
27,复制Heartbeat
28,relay_log_recovery,自动丢弃自己未处理的中继日志(Relay Log),然后从源主机服务器恢复挂起的事务处理
29,根据服务器过滤项复制
30,SLAVE_TYPE_CONVERSION,提供了一种精确的数据类型转换机制
31,建立快速索引,添加(Add)或删除(Drop)索引,而无需复制整个目标表中的底层数据
32,数据压缩,ROW_FORMAT和KEY_BLOCK_SIZE参数,按照1K,2K,4K,8K或标准16K字节压缩等级存储数据页。
33,ROW_FORMAT=DYNAMIC或ROW_FORMAT=COMPRESSED创建表,这提高了大对象的存储效率
34,存储对象(包括存储过程,函数,触发器)内部使用SIGNAL/RESIGNAL语法,用于项目的前期研发和调试,然后产生错误条件,并使用该条件调用主机应用程序中的专用错误处理程序
35,表和索引RANG和LIST分区范围扩展到了非整数列和日期,并增加了在多个列上分区的能力,COLUMNS关键字支持这些选项

5.6 目前无GA版,但已经正式冻结准备发送GA版 5.6.5m8
1,查询优化:Index Condition Pushdown,Multi-Range Read,File Sort Optimization
2,加强performance_schema库
3,Dump/Restore buffer pool for fast start up
4,UUID唯一标识服务器,内部事务序列产生全局唯一GTID
5,自动回滚复制到一半的事务并重做整个事务
6,row格式Binlog中只记必需字段
7,延时复制
8,远程Binlog备份
9,row格式复制记录SQL语句
10,kernel mutex splits into different mutexes
11,InnoDB 全文搜索
12,Online add index,Add / Drop Foreign Key,Add / Drop Column,Rename Table,Rename Column
13,Transportable Tablespaces
14,Direct Access to InnoDB via Memcached
15,innodb压缩增强
16,improved accuracy of InnoDB index statistics, and consistency across MySQL restarts
17,NoSQL Interface via memcached
18,分区增强:Explicit Partition Selection–SELECT * FROM employees PARTITION (p0, p2),Import / Export for Partitioned Tables-ALTER TABLE e EXCHANGE PARTITION p0 WITH TABLE e2
19,多线程复制,数据库级别
20,Replication Checksums
21,Hash Join
22,Read-Only事务区分
23,5.6.6峰值最高可以达到16w的QPS,比原版的5.1提升4倍(使用flash设备)

6.0 已经取消

MySQL5.0、5.1、5.5、5.6功能进化
标签: