MySQL 5.7 GA 新特性

Posted yuyue2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 5.7 GA 新特性相关的知识,希望对你有一定的参考价值。

 

转载自: 

http://www.chinaxing.org/articles/Database/2015/10/23/2015-10-22-mysql-5.7.html

 

Percona的一个测试,在mysql5.7的情况下将innodb_page_size调整到4k,可以比16k性能提升70%以上;https://www.percona.com/blog/2016/08/10/small-innodb_page_size-performance-boost-ssd/

 

 

 

MySQL 5.7 GA 新特性

Table of Content

MySQL 5.7 算是放大招了,易用性,性能,可用性,安全等都有很大的改善。

性能

性能提升3倍以上。包括:

  • 临时表性能
  • 大块数据导入时索引构建更快
  • innodb的读写性能提升
  • innodb的并行刷盘 O(n^2) -> O(n),以前是单线程,这样可以利用多核
  • 连接处理能力提升 Improving connect/disconnect performance

易操作性

SQL优化器提升

  • Parser重写 SQL parser refactoring
  • 层次化的SQL优化器
  • 增加GIS实现
  • Query Rewrite插件框架,用户可以编写自己的Query Rewrite插件 Write Yourself a Query Rewrite Plugin ; https://yq.aliyun.com/articles/53686
  • subquery的处理归一化:view和from语句2种方式中得subquery都使用统一的处理方式
  • 通过使用区间扫描的方式执行行表达式的方法提升”IN queries” 的性能 Range access: now in an INpredicate near you
  • UNION ALL” 不再创建临时表,减少磁盘空间和磁盘IO的操作。 State of the UNION
  • 压缩排序缓存中得未排序的字段,更加高效的使用排序缓存,减少磁盘IO
  • 可以执行 EXPLAIN FOR CONNECTION 来查看执行中Query得情况,起到运行时profile的作用。
  • JSON EXPLAIN 增加query开销的输出,处理的数据集数等信息,便于用户进行执行计划的决策比较 MySQL EXPLAIN explained
  • 优化器的暗示器语法增加,可以直接跟在SELECT等关键字之后,/*+ */ 的形式的注释
  • 增加了索引层面的暗示器
  • 增加控制子查询执行策略的暗示器
  • 优化器新的开销评估模型 MySQL Optimizer Cost Model Project

InnoDB 增强

  • Page Compression 增加透明页面压缩,对于在支持稀疏文件的系统上,压缩页面的内容,并利用稀疏文件系统的特点只保存压缩后内容,节约磁盘空间的使用。

Performace Schema

监控系统性能能的Schema得以重新设计架构,包括Metadata Locking、Transactions、Memory Usage、Stored Programs、Prepared Statements,MySQL Performace Schema

Buffer Pool Dump/ Load

提升bufferPool的dump和load,支持只dump每个BufferPool最热的百分之N(默认25%)的页面,load在后台运行,不影响用户的查询执行 MySQL Dumping and Reloading the InnoDB Buffer Pool

Replication

以上是关于MySQL 5.7 GA 新特性的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 5.7在线设置复制过滤

MySQL 5.7.9 GA稳定版新特性解读

MySQL——MySQL 5.7新特性

MySQL 5.7 新特性详解

MySQL 5.7 新特性大全和未来展望

MySQL 5.7新特性之Generated Column(函数索引)