本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化。
- 自动判断底层I/O设备是否可以支持原子IO(AIO),检测到的话,会自动关闭 double write buffer,进一步提升性能。
- 支持 innodb_page_cleaners 选项可设置多个page cleaner线程提高脏页刷新效率。
- 可通过设置 innodb_undo_log_truncate 等选项自动删除不用的 undo log。
- 加强InnoDB read-only模式的性能。
- 支持一个表上有多个触发器,这样一来,原先已有触发器表也可以支用 pt-osc 了。
- 新增 log_syslog 选项,可将MySQL日志打印到系统日志文件中。
- InnoDB和MyISAM引擎的分区表也支持ICP特性。
- 支持对在线某个连接直接查看执行计划,比如 EXPLAIN FOR CONNECTION 1024。
- 支持在线(INPLACE)增加 VARCHAR 列的长度。不过 0-255 长度是一个区间,256 以上是另一个区间,不能跨越255这个坎,比如把长度从 100 扩展成 1000(因为 255 长度以内额外用1个字节表示,大于 255 长度则需要额外2个字节表示)。另外还不支持在线缩小 VARCHAR 的长度。
- 以及更多关于性能上的改善提升,包括客户端连接效率提升、批量数据加载效率提升、sort buffer中存储的非排序字段是压缩模式的(提高内存利用率)、UNION ALL不再产生临时表、解析器重构、查询优化器进一步完善(比如增加可控CBO规则)等等。