mysql5.6新特性总结
一. server参数默认值设置的变化
http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html
二. innodb增强
1.全文本搜索(full-text search)。
2.支持online DDL。
3.独立表空间的.ibd文件可以在建表时指定目录:
http://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html
4.导入和导出表空间:copy文件的方式比mysqldump快好多。
http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html
5. 新增参数innodb_page_size设置页大小。
6.缓冲池flush算法增强:
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html
7.支持使用nosql api访问innodb表(整合memcached):
http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html
8.优化器统计持续化:重启不丢失。
http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html
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。
http://dev.mysql.com/doc/refman/5.6/en/innodb-redo-log-size-increase.html
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.检测死锁算法增强。在非递归情况下死锁检测:死锁信息可以记录到 error 日志,方便分析。
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 < 5
http://dev.mysql.com/doc/refman/5.6/en/partitioning-selection.html
4.简化分区锁增强性能:
http://dev.mysql.com/doc/refman/5.6/en/partitioning-limitations-locking.html
四. 复制和日志增强
1.新增GTID复制:
http://dev.mysql.com/doc/refman/5.6/en/replication-gtids.html
2.新增binlog_row_image
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html
参数,可只记录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
http://dev.mysql.com/doc/refman/5.6/en/replication-options-binary-log.html
relay_log_basename
http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html
系统变量。
8.基于schema级别的多线程复制。
9.binlog支持crash-safe。
五. 优化器增强
1.limit优化:
http://dev.mysql.com/doc/refman/5.6/en/limit-optimization.html
2. MRR优化(Multi-Range Read
http://dev.mysql.com/doc/refman/5.6/en/mrr-optimization.html
http://dev.mysql.com/doc/refman/5.6/en/mrr-optimization.html
3.ICP优化(Index Condition Pushdown):
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
http://dev.mysql.com/doc/refman/5.6/en/server-status-variables.html
系列状态参数。
2.新增host_cache_size系统变量。
八. 删除的特性
1. --log和log移除,用 --general_log 和 --general_log_file=file_name 替换。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
2. log_slow_queries移除,只有slow_query_log。
3. --one-thread系统参数移除,用 --thread_handling=no-threads 替换。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
4. --safe-mode 系统参数移除。
5. --skip-thread-priority系统参数移除。
6. --table-cache移除,用 table_open_cache 替换。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
7. --init-rpl-role、--rpl-recovery-rank、rpl_recovery_rank、Rpl_status移除。
8. engine_condition_pushdown系统变量移除,engine_condition_pushdown表示并入optimizer_switch 变量。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
9. have_csv, have_innodb, have_ndbcluster, have_partitioning移除,用show engines代替。
10. sql_big_tables移除,用big_tables 代替。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
11. sql_low_priority_updates被low_priority_updates 代替。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
12. sql_max_join_size被max_join_size 代替。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
13. max_long_data_size被max_allowed_packet 代替。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
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移除。
九. MySQL Performance Schema 增强
1. Statements/execution stages - 找出消耗资源热点SQL
2. Table and Index I/O : 那些表和索引引起负载过高 ?
3. Table Locks : 那些表引起竞争?
4. Users/Hosts/Accounts 级别资源消耗 :找出消耗资源最多的Users/Hosts/Accounts
5. Network I/O : 网络还是应用程序? 会话闲置多久?
6. 通过 thread, user, host, account, object聚合总结。
具体信息请阅读mysql5.6手册:http://dev.mysql.com/doc/refman/5.6/en/index.html
mysql5.6新特性总结的更多相关文章
- [MySQL5.6 新特性] 全局事务标示符(GTID)
GTID的全称为 global transaction identifier , 可以翻译为全局事务标示符,GTID在原始master上的事务提交时被创建.GTID需要在全局的主-备拓扑结构中保持唯 ...
- MySQL5.6 新特性之GTID【转】
转自 MySQL5.6 新特性之GTID - jyzhou - 博客园http://www.cnblogs.com/zhoujinyi/p/4717951.html 背景: MySQL5.6在5.5的 ...
- MySQL5.6新特性Index conditontion pushdow
index condition pushdown是MySQL5.6的新特性,主要是对MySQL索引使用的优化. Index condition push简称ICP,索引条件下推,将索引条件从serve ...
- mysql5.7新特性探究
一.MySql5.7增加的特性 1.MySql服务方面新特性 1) 初始化方式改变 MySql5.7之前版本初始化方式: scripts/mysql_install_db MySql5.7版本初始化方 ...
- MySQL5.7新特性
MySQL5.7介绍 身处 MySQL 这个圈子,能够切身地感受到大家对 MySQL 5.7 的期待和热情,似乎每个人都迫不及待的想要了解.学习和使用 MySQL 5.7.那么,我们不禁要问, MyS ...
- MySQL5.6 新特性之GTID
背景: MySQL5.6在5.5的基础上增加了一些改进,本文章先对其中一个一个比较大的改进"GTID"进行说明. 概念: GTID即全局事务ID(global transactio ...
- 使用mysql5.7新特性(虚拟列)解决使用前通配符性能问题
众所周知,在mysql里的后通配符可以使用索引查找,前通配查询却无法使用到索引,即使是使用到了索引,也是使用了索引全扫描,效率依然不高,再MySQL5.7之前,一直都没有好的办法解决,但是到了MySQ ...
- 使用mysql5.7新特性解决前通配符查询性能问题
众所周知,在mysql里的后通配符可以使用索引查找,前通配查询却无法使用到索引,即使是使用到了索引,也是使用了索引全扫描,效率依然不高,再MySQL5.7之前,一直都没有好的办法解决,但是到了MySQ ...
- [转]MySQL5.6新特性之Multi-Range Read
这几天看到mrr的东西,刚好看到以前我们组的一个小伙的博客,我看挺全的,就转过来了,原博客地址请戳 一 介绍 MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range ...
随机推荐
- block的循环引用
什么是循环引用呢? 就是我引用你,你引用我,就会造成循环引用,双方都不会被销毁,导致内存泄漏. _block = ^{ NSLog(@"%@", self); }; block会 ...
- 关键字nullable,nonnull,null_resettable,_Null_unspecified详解
相信在开发过程中,很多小伙伴们儿都会见到nullable,nonnull,null_resettable,_Null_unspecified这几个关键字,但是并不知道它们是什么意思,下面我就给大家一一 ...
- 参考:鼠标点击事件(Selenium)
1.鼠标右键点击操作:Actions action = new Actions(driver) ;action.contextClick(driver.findElement(By.xpath(xpa ...
- php 5.3新增的闭包语法介绍function() use() {}
* 下面提到的代码在PHP5.3以上版本运行通过. */function callback($callback) { $callback();}//输出: This is a anonymous fu ...
- ubuntu文件夹建立软链接方法
1:预备知识 -s 是代号(symbolic)的意思. 这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化:第二,ln的链接又软链 ...
- Jboss配置之数据源密码配置密文--EncryptingDataSourcePasswords
local-tx-datasource:最常用的数据源配置,该连接池的连接管理器是LocalTxConnectionManager,只支持本地事务,不适合做分布式事务.以mssql为例如下:如果密码按 ...
- queen8
八皇后问题 八皇后问题的数学模型:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或斜线上.八皇后问题可 ...
- php : 基础(4)
流程控制 循环结构 循环的中断 循环中,有两种中断语句可以使用: break: 用于完全终止某个循环,让执行流程进入到循环语句后面的语句: continue: 用于停止当前正在进行的当次循环,而进入到 ...
- MAC 设置环境变量path的几种方法
mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.prof ...
- [转] - Configuring Android Studio: IDE & VM Options, JDK, etc
Configuring Android Studio: IDE & VM Options, JDK, etc You should not edit any files in the IDE ...