search 2013 adfgs
作者:Sky.Jian | 可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明
链接:http://isky000.com/database/oracle-mysql-update-to-8 | del.icio.us | Twitter it

大约一两个月之前做过一个小调查,大部分MySQL环境目前仍然还是用的MySQL 5.5,占比第二位的是 MySQL 5.6,再然后是5.1,也有不少爱尝鲜的朋友们开始了尝试5.7版本。

之前,通过内部邮件了解到 Oracle 最近计划直接将 MySQL 跳跃升级到 MyQL 8.x 版本。为啥会直接做如此大的跳跃性版本升级呢?

5.5 -> 5.6 -> 5.7 -> 8.0?

可能一:猜测是如上面的子版本号的变化,只不过是将版本号做了个规则调整而已。

可能二:最新的8.0版本对原有 MySQL一直保留的一些基础结构做了较大调整,如彻底放弃 MyISAM,彻底调整数据字典存放方式,对数据库之核心(查询优化器)做了较大调整等等,所以需要在大版本上做一次较大升级。

都只是猜测而已,根本原因官方并未对外宣布所以爷不得而知,当然也并不是我们需要特别关注的地方。

MySQL 8.0 的变化非常之大,值得所有 MySQL 从业者深入研究,这里我也真对我重点关注的几个特性做一个简单的记录。

  1. Storage Engine 层面的改变:
    • 彻底放弃MyISAM这一古老的存储引擎,改用 InnoDB存储引擎存储数据字典信息。
    • InnoDB 方面无论在Range Scan 还是 Full Scan 方面都进行了算法优化,较大的提高了扫描性能(类似 Oracle Full Table Scan的优化)
    • Auto Increment ID的记录在了 InnoDB 的日志中,解决了一个老掉牙的Bug
  2. Query Optimizer 层面的改变(对于熟悉 Oracle 的我来说 MySQL 的 Query Optimizer 一直都是个痛):
    • 据说整体重构了原有 Query optimizer
    • 针对 InnoDB 存储引擎深度优化,根据 Buffer Pool 中索引数据的情况调整 SQL 对索引的选择。(这个优化虽然看上去很NB,但很难说会否给未来带来麻烦)
  3. Performance Tuning 方面的改善:
    • SQL Hints 方面的加强,进一步提高了DBA/开发人员对 SQL 本身的可控性
    • 索引增加INVISIBLE(不可见)属性,方便调优时候的影响控制
    • 统计信息增加 Histogram(直方图),将会极大改善数据倾斜问题带来的 Query Optimizer 错误,改善在数据倾斜严重环境的查询性能
  4. 基础维护层面的完善:
    • 在权限层面增加了 ROLE,会大大简化 DBA 在权限管理方面的工作量,更简单清晰的做好安全管控。
    • 全局变量在线修改的持久化,在修改Global Variables 的时候,增加 PERSIST 关键字,将不仅仅只是在当前运行的Instance 的内存环境进行更改,同时也会将更改进行持久化,避免因为重启而丢失更改。
  5.  …

当然,除了上面列举的这几个本人比较关注的变化之外,还有非常非常多的改变,希望这次大版本的更新能让 MySQL 进一步提升在大型系统中的适应性。后续可能还会写几篇针对 MySQL 8.0 的文章,具体可能还需要看时间了。

已经有2个回复

  1. 蓝天 Says @ 17-01-11 12:23 pm

    期待大神再次出山

  2. 魔兽世界sf开服一条龙服务www.17isf.comQQ1285574370 Says @ 17-04-4 11:04 pm

    蜀门服务端-RF服务端-丝路传说服务端-倚天2服务端-决战服务端-征服-SF端-骑士服务端-天上碑服务端-美丽世界服务端-科洛斯服务端-石器时代服务端www.119uc.com天龙私服一条龙开服服务QQ1124999543
    魔兽世界sf开服一条龙服务www.17isf.comQQ1285574370 http://www.17isf.com/

看完了要说点啥么?