总结的mysql 5.6各个新特性,以及对应的官方说明文档,已做备录 .

虽然 用5.1  5.5 的比较多,但是 5.6的变化 不容忽视。

主要四大块 innodb、复制、优化、nosql支持,在这四大方面有了很的改进,对应官方相关文档讲的很详细。

9.支持read-only事务:

http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

10.undo log可独立出系统表空间:

http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

11.redo log最大增至512G。

12.innodb支持read_only介质,如DVD,参数--innodb-readonlyhttp://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html

13.INFORMATION_SCHEMA新增相关字典表若干。

14.innodb内部性能增强:包括将flushing操作独立出主线程,减少核心互斥锁,可设置多个清除线程,减少大内存系统的资源争夺。

15.检测死锁算法增强。

16.buffer pool预热:

http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

三. 分区增强

1.最大分区个数增值8192,包括分区和子分区。

2.支持分区表的分区(或子分区)与非分区表交换:ALTER TABLE ... EXCHANGE PARTITION

3.查询支持显式的分区语句:如SELECT * FROM t PARTITION (p0, p1) WHERE c 

http://dev.mysql.com/doc/refman/5.6/en/partitioning-selection.html

4.简化分区锁增强性能:

参数,可只记录row格式下所用字段的修改(而不是像以前一样记录全部列),节省空间等资源。

3.master.info和relay-log.info支持存储在表中。

4.mysqlbinlog命令支持binlog备份(备份后仍为二进制的binlog而不是文本)http://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog-backup.html

5.支持延时复制:在change master to中增加MASTER_DELAY选项。

6.有多个网络接口的slave可指定使用其中一个:在change master to中增加MASTER_BIND。

7.新增log_bin_basename

relay_log_basename

系统变量。

8.基于schema级别的多线程复制。

9.binlog支持crash-safe。

五. 优化器增强

1.limit优化:

http://dev.mysql.com/doc/refman/5.6/en/index-condition-pushdown-optimization.html

4.explain语句支持insert、delete、update、replace语句,并且支持json格式。

5.新增连接算法BKA(Batched Key Access):

http://dev.mysql.com/doc/refman/5.6/en/bnl-bka-optimization.html

6.子查询优化:包括物化和半连接优化等特性。

7面向开发者的优化器追踪特性。

六. 数据类型

1.time、datetime、timestamp类型支持微妙(小数点后6位);表格式的slowlog将不会被截断。

2.datetime类型支持DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP。

3.增加explicit_defaults_for_timestamp系统变量明确timestamp默认值。

4.year(2)被限制,将转换成year(4)。

七. Host cache增强

1.新增Connection_errors_xxx

系列状态参数。

2.新增host_cache_size系统变量。

八. 删除的特性

1. --log和log移除,用 --general_log

和 --general_log_file=file_name

替换。

2. log_slow_queries移除,只有slow_query_log。

3.  --one-thread系统参数移除,用 --thread_handling=no-threads

替换。

4. --safe-mode 系统参数移除。

5. --skip-thread-priority系统参数移除。

6. --table-cache移除,用 table_open_cache

替换。

7. --init-rpl-role、--rpl-recovery-rank、rpl_recovery_rank、Rpl_status移除。

8. ,engine_condition_pushdown系统变量移除,engine_condition_pushdown表示并入optimizer_switch

变量。

9. have_csv, have_innodb, have_ndbcluster, have_partitioning移除,用show engines代替。

10. sql_big_tables移除,用big_tables

代替。

11. sql_low_priority_updates被low_priority_updates

代替。

12. sql_max_join_size被max_join_size

代替。

13. max_long_data_size被max_allowed_packet

代替。

14. FLUSH MASTER 和 FLUSH SLAVE语句移除,使用reset master和reset slave代替。

15. slave start和slave stop语句移除,用start slave和stop slave代替。

16. SHOW AUTHORS 和 SHOW CONTRIBUTORS 语句移除。

17. set语句的OPTION 和nd ONE_SHOT移除。