一直断断续续的看一些mysql特性,今天总结一下,以下是列表,网址 http://mariadb.org/ (也是类似的特性), http://mysql.com/

最近在看关于mysql新特性的一些书

一. server参数默认值设置的变化

Parameter Old Default New Default Version
back_log 50 Autosized using max_connections 5.6.6
binlog_checksum NONE CRC32 5.6.6
--binlog-row-event-max-size 1024 8192 5.6.6
flush_time 1800 (on Windows) 0 5.6.6
host_cache_size 128 Autosized using max_connections 5.6.8
innodb_autoextend_increment 8 64 5.6.6
innodb_buffer_pool_instances 1 8 (platform dependent) 5.6.6
innodb_concurrency_tickets 500 5000 5.6.6
innodb_data_file_path ibdata1:10M:autoextend ibdata1:12M:autoextend 5.6.7
innodb_file_per_table 0 1 5.6.6
innodb_log_file_size 5MB 48MB 5.6.8
innodb_old_blocks_time 0 1000 5.6.6
innodb_open_files 300 Autosized using innodb_file_per_table,table_open_cache 5.6.6
innodb_stats_on_metadata ON OFF 5.6.6
join_buffer_size 128KB 256KB 5.6.6
max_allowed_packet 1MB 4MB 5.6.6
max_connect_errors 10 100 5.6.6
open_files_limit 0 Autosized using max_connections 5.6.8
performance_schema OFF ON 5.6.6
performance_schema_events_waits_history_long_size 10000 Autosized 5.6.6
performance_schema_events_waits_history_size 10 Autosized 5.6.6
performance_schema_max_cond_instances 1000 Autosized 5.6.6
performance_schema_max_file_instances 10000 Autosized 5.6.6
performance_schema_max_mutex_instances 1000000 Autosized 5.6.6
performance_schema_max_rwlock_instances 1000000 Autosized 5.6.6
performance_schema_max_table_handles 100000 Autosized 5.6.6
performance_schema_max_table_instances 50000 Autosized 5.6.6
performance_schema_max_thread_instances 1000 Autosized 5.6.6
query_cache_size 0 1M 5.6.8
query_cache_type ON OFF 5.6.8
secure_auth OFF ON 5.6.7
sql_mode '' (empty string) NO_ENGINE_SUBSTITUTION 5.6.6
sync_master_info 0 10000 5.6.6
sync_relay_log 0 10000 5.6.6
sync_relay_log_info 0 10000 5.6.6
table_definition_cache 400 Autosized using table_open_cache 5.6.8
table_open_cache 400 2000 5.6.8
thread_cache_size 0 Autosized using max_connections

http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html

二. innodb特性的变化以及增强

  • 1.全文索引(full-text search):https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html

  • 2.支持 online DDL:https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl.html

  • 3.独立表空间的.ibd文件可以在建表时指定目录: http://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html

  • 4.导入和导出表空间: http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html

  • 5. 新增参数innodb_page_size设置页大小(4k,8k,16k): https://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html

  • 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.支持read-only事务:http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

  • 9.undo log可独立出系统表空间:http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

  • 10.redo log最大增至512G。http://dev.mysql.com/doc/refman/5.6/en/innodb-redo-log-size-increase.html

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

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

  • 13.检测死锁算法增强,在非递归情况下死锁检测,死锁信息可以记录到 error 日志,方便分析。

  • 14.buffer pool预热:http://dev.mysql.com/doc/refman/5.6/en/innodb-performance.html

三. 分区的限制(Restrictions and Limitations on Partitioning)

  • 1.最大分区个数增为8192,包括分区和子分区。(Prior to MySQL 5.6.7, the maximum possible number of partitions for a given table not using the NDB storage engine was 1024)

  • 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

  • 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)。

七. 更改的参数

  • 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移除。

http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html

八. 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聚合总结。

以上特性在mysql官网上全部可以找到、

参考文章

http://blog.csdn.net/yueliangdao0608/article/details/21230627

总结一下关于mysql 5.6 新特性的更多相关文章

  1. [转帖 ]MySQL 5.7 新特性 JSON

    MySQL 5.7 新特性 JSON 的创建,插入,查询,更新 作者: 我不是鱼 (2016-08-31 16:13)分类: MySQL   标签: MySQL JSON MySQL JSON 应用 ...

  2. Mysql 8.0 新特性测试

    Mysql 8.0 新特性测试 Role MySQL8.0版本添加了role特性,role是一种逻辑概念是权限的集合,可以将一个或以上的权限赋予给role,再将role赋给user.Oracle,Po ...

  3. MySQL 8.0 新特性梳理汇总

    一 历史版本发布回顾 从上图可以看出,基本遵循 5+3+3 模式 5---GA发布后,5年 就停止通用常规的更新了(功能不再更新了): 3---企业版的,+3年功能不再更新了: 3 ---完全停止更新 ...

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

    MySQL 5.7引入了Generated Column,这篇文章简单地介绍了Generated Column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...

  5. 初识 MySQL 5.6 新特性、功能

    背景: 之前介绍过 MySQL 5.5 新功能.参数,现在要用MySQL5.6,所以就学习和了解下MySQL5.6新的特性和功能,尽量避免踩坑.在后续的学习过程中文章也会不定时更新. 一:参数默认值的 ...

  6. MySQL 5.7新特性之generated column

    MySQL 5.7引入了generated column,这篇文章简单地介绍了generated column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...

  7. MySQL 5.6新特性 -- Multi-Range Read

    如果基表很大,数据没有被缓存,在二级索引上使用范围扫描读取行可能会导致大量的随机磁盘访问.使用Multi-Range Read新特性,mysql可以减少对磁盘的随机读的次数:首先,mysql只是扫描索 ...

  8. MySql 5.7 新特性概览

    安全的提升 1.1 在Mysql 8版本中,caching_sha2_password 是一个缺省的认证插见.5.7 版本的客户端支持 caching_sha2_password 的客户端认证. 1. ...

  9. MySQL 5.7新特性介绍

    本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化. 1.即将删除的特性1.1.InnoDB monitoring features,详见:WL#7377(访问地址:http:// ...

随机推荐

  1. ubuntu下nodejs开发环境搭建

    1.安装nodejs sudo apt install -y nodejs 2.更新npm到最新版本 sudo npm i -g npm 3.npm配置为淘宝镜像 sudo npm config se ...

  2. caffe添加python数据层

    caffe添加python数据层(ImageData) 在caffe中添加自定义层时,必须要实现这四个函数,在C++中是(LayerSetUp,Reshape,Forward_cpu,Backward ...

  3. JavaScript-手机中访问页面判断

    最近在做微信服务号开发,其中遇到一个问题是微信服务号查看的个人的消息,如果点击在浏览器中查看(iOS中是在Safari中打开)应该是跳转到登录页面,因为页面需要从后台获取,因为需要服务端判断,如果是存 ...

  4. JS里关于事件的常被考察的知识点:事件流、事件广播、原生JS实现事件代理

    1.JS里面的事件流 DOM2级事件模型中规定了事件流的三个阶段:捕获阶段.目标阶段.冒泡阶段,低版本IE(IE8及以下版本)不支持捕获阶段 捕获事件流:Netscape提出的事件流,即事件由页面元素 ...

  5. 配置Tomcat apr运行模式

    tomcat中一共有三种运行模式,分别是:bio,nio,apr bio是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发 ...

  6. Python实现爬虫设置代理IP和伪装成浏览器的方法(转载)

    https://www.jb51.net/article/139587.htm chrome_options = webdriver.ChromeOptions() chrome_options.ad ...

  7. unity中使用自定义shader进行光照贴图烘培无法出现透明度的坑爹问题

    最近开发中在对场景进行光照贴图烘焙时发现一个坑爹问题,在使用自定义shader的时候,shader命名中必须包含Transparent路径,否则烘焙的时候不对alpha通道进行计算,烘焙出来都是狗皮膏 ...

  8. (转)Unity原厂讲师大解密

    本文转载自:http://nedwu13.blogspot.tw/2013_11_01_archive.html   Asset Bundle工作流程及人物換裝實例 - 劉剛 Unity內部的資源有兩 ...

  9. 电子商务 B2C 结构图【转载+整理】

    本文内容 商品展示 内容展示 订单确认 支付系统 用户中心 商品&促销 CRM 订单处理 WMS 采购管理 财务管理 报表管理 系统设置 WA系统   商品展示 按照 Ebay 内部分类,任何 ...

  10. HDU1069(还是dp基础)

    今天不想说太多废话-由于等下要写自己主动提交机. 不知道能不能成功呢? 题目的意思就是,一个猴子,在叠砖头 ...以下的要严格大于上面的.求叠起来最高能到多少- n非常少,n^2算法毫无压力-话说dp ...