- set globa sync_binlog=1;
体系会生成一个包含如下内容的 mysqld-auto.cnf 的文件:
- { "mysql_server": {"sync_binlog": "1" } }
当 my.cnf 和 mysqld-auto.cnf 同时存在时,后者具有高优先级。
自增列优化
其拭魅这个不算是新特点,而是解决了之前一个汗青悠长的bug(bugid为199).MySQL 8.0 版本之前InnoDB初始化AUTO_INCREMENT的方法:在DB重启时,MySQL会将表上最大年夜的自增值作为最大年夜值,下次分派是分派max(id)+1,如不雅是归档表或者其它模式删除数据之后,DB体系重启,自增值可能被重用。
8.0 版本不再重置auto_increment 的值,直接复竽暌姑重启之前的最大年夜值,具体解决办法请移步WL#7816
MySQL于 2016-09-12正式宣布8.0 DM 版本到如今的 8.0.3 RC版本,进度照样蛮快的。对Oracle比较懂得的同伙看到比来的MySQL 8.0的功能,会有一致的设法主意:在Oracle的带领下MySQL越来越像Oracle,包含安装包也越来越大年夜。
http://dev.mysql.com/worklog/task/?spm=5176.100239.blogcont60885.10.7NgPbk&id=7816
InnoDB 优化
1、直方图
MySQL 8.0 版本开端支撑等待已久直方图。优化器会应用存储在I_S的column_statistics的数据,断定字段的值的分布,获得更精确的履行筹划。我们可以应用
- ANALYZE TABLE table_name [UPDATE HISTOGRAM|DROP HISTOGRAM]
总结
来收集或者删除直方图信息。
2、弗成见索引
开端支撑invisible index,(是不是感到又和Oracle一样了),在优化SQL的过程中可以设置索引为弗成见,优化器变不会应用弗成见索引。别的如不雅对于具有汗青原因的表,不清跋扈到调用不消索引,可以设置索引为弗成见,不雅察一段时光再将索引下线。应用该功能的时刻记得检查optimizer_switch中use_invisible_indexes参数是否为off。如不雅是on 优化器在优化的时刻会依然应用弗成见索引。
3、支撑会话级别SET_VAR 动态调剂部分参数,有利于晋升语句机能。
- select /*+ SET_VAR(sort_buffer_size = 16M) */ name from people order y name;
- insert /*+ SET_VAR(foreign_key_checks=OFF) */ into t2 values(2);
拆或者删除mutex锁
具体的调换方法如下:
- LRU_list_mutex for the LRU_list;
- zip_free mutex for the zip_free arrays;
- zip_hash mutex for the zip_hash hash and in_zip_hash flag;
- free_list_mutex for the free_list and withdraw list.
经由过程对锁的拆分,降低了全局锁的竞争,晋升了申请buffer pool的并发处理才能。
行缓存
大年夜MySQL 8.0 开端采取新的Data Dictionary 体系,所有的元数据都用InnoDB引擎进行存储,应用新的体系带来如下好处:
- 解决DDL的原子性问题。
- 支撑事务型的字典存储体系和crash safe 。
- 去掉落基于文件的元数据存储,比如表定义文件frm文件及其他server层的元数据文件(frm, par, trn, trg,isl, db.opt)
- 支撑应用同一集中的缓存体系来缓存数据字典信息。
MySQL 8.0 版本的优化器可以估算将要攫取的行数,是以可以供给给存储引擎一个合适大年夜小的row buffer来存储须要的数据。大年夜批量的持续数据扫描的机能将受益于更大年夜的record buffer。
临时表
撤消对紧缩临时表的支撑,并存储临时表的元数据到内存中,进步机能 。
字符集
新的体系字典表
默认字符集由 latin1 修改为 utf8mb4,并增长支撑 Unicode 9 ,字符集校验响应的修改为utf8mb4_800_ci_ai (大年夜小写不敏感)。
别的一个大年夜小写敏感的校验字符集是utf8mb4_ru_0900_as_cs。
默认参数
- 修改back_log的默认值,保持和 max_connections一致,加强突发流量带来的连接处理容量。
- 修改 event_scheduler 默认为ON,之前默认是封闭的。看来MySQL今后推荐大年夜家应用义务job 这个功能了,对于范围化运维须要有一套平台对象为做治理,不然人员的流动会带来 稳定性膳绫擎的风险。
- 调剂max_allowed_packet 的默认值,大年夜4M增长到64M,其实推荐512M 并且朱备库必定要保持一致,不然异常断电的情况下会报1236缺点。
- 调剂bin_log,log_slaves_update默认值为on。
推荐阅读
【编辑推荐】机械进修是否真的合适你的营业?毕生机械进修:一种可持续进修典范式大年夜概念到案例:初学者须知的十大年夜机械进修算法安然人寿谢佳标:应用Microsoft R Server对大年夜数>>>详细阅读
地址:http://www.17bianji.com/lsqh/38368.html
1/2 1