• 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设备)

    原文  http://www.iamcjd.com/?p=1223

  • 相关阅读:
    C#-使用Tuple传递多个参数
    CentOS 常用命令
    C#-ToString格式化
    java面对对象(六)--内部类、匿名内部类
    JAVA面对对象(五)——接口
    JAVA面对对象(四)——抽象类
    JAVA面对对象(三)——Super、static、final关键字
    Mybatis缓存
    重启博客
    某大神的装修笔记
  • 原文地址:https://www.cnblogs.com/chunguang/p/5694381.html
Copyright © 2020-2023  润新知