转载自:
http://www.chinaxing.org/articles/Database/2015/10/23/2015-10-22-mysql-5.7.html
sys-schema
http://mingxinglai.com/cn/2016/03/sys-schema/
http://keithlan.github.io/2015/07/17/22_performance_schema/
MySQL Performance-Schema(一) 配置篇
MySQL Performance-Schema(二) 理论篇
MySQL Performance-Schema(三) 实践篇
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
性能易操作性
SQL优化器提升InnoDB 增强Performace SchemaBuffer Pool Dump/ LoadReplicationReference
MySQL 5.7 算是放大招了,易用性,性能,可用性,安全等都有很大的改善。
性能
性能提升3倍以上。包括:
临时表性能大块数据导入时索引构建更快innodb的读写性能提升innodb的并行刷盘 O(n^2) -> O(n),以前是单线程,这样可以利用多核连接处理能力提升 Improving connect/disconnect performance
易操作性
GTID 在线设置Enabling Global Transaction Identifiers Without Downtime in MySQL 5.7.6在线修改 innodb_buffer_pool_size Resizing the InnoDB Buffer Pool Online自动Truncate
UNDO 日志,避免undo 日志太大在线重命名索引在线扩大 VARCHAR 类型列的长度在线修改复制过滤器 CHANGE REPLICATION FILTER Making MySQL Slave Replication Filter Dynamic在线更改Slave的Master,无需停止复制 CHANGE MASTER Change Master without stopping slave altogether
SQL优化器提升
Parser重写
SQL parser refactoring层次化的
SQL优化器增加
GIS实现Query Rewrite插件框架,用户可以编写自己的Query Rewrite插件 Write Yourself a Query Rewrite Plugin ; https://yq.aliyun.com/articles/53686subquery的处理归一化: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
Mutli-Source Replication MySQL Multi-source Replication 允许同一个slave配置多个MasterMulti-Threaded Slaves Configuring slave for intra-database parallelization 支持Slave
SQL执行线程并发应用binlog事件到同一个database和schema(只要没有交集),之前的版本是只支持多个库的并发应用。Semi-Sync Master可等待N个slave确认binlog日志收到,之前是仅仅等待1个,这样的好处是增加了持久化的可靠性 Lossless Semi-Synchronous Replication on MySQL 5.7.2
GTID 方式的复制客户端自动感知GTID,保证GTID_EXECUTED和GTID_PURGED不会丢失 Enabling Global Transaction Identifiers Without Downtime in MySQL 5.7.6No-Blocking SHOW SLAVE STATUSmysqlbinlog 支持Rewrite-
DB 可以根据指示改写RowEVENT中的DB增加更多的复制相关的状态变量到Performance Schema TableBinlogging
XA-prepared transactions 在复制中全面支持XA事务
Reference
What’s New in MySQL 5.7 GA
转载于:https://www.cnblogs.com/yuyue2014/p/6084867.html