导读 | MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 |
可能有人会惊奇MySQL为何从5.x一下跳跃到了8.0。事实上,MySQL 5.x系列已经延续了很多年,从被Oracle收购之前就是5.1,而收购之后一直维持在5.x,比如5.5,5.6,5.7等等。其实,如果按照原本的发布节奏,可以把5.6.x当成6.x,5.7.x当成7.x。所以,只是换了版本命名方式而已。
MySQL 8.0.0亮点
事务住数据字典,完全脱离了MylSAM存储引擎
真正将数据字典放到了1nnoOB中的一些表中,夕J长下再需要FRM、TRG、pAR文件啦!Inf
rmationSchema现在以数据字典表的一个视图出现。原则上可以完全不需要MylSAM数据
表类型了,所有的系统表都可以放到Inn0OB之中。
SQL角色
角色是一系列叹限的集台。可以创建角色,给莫个用户授子和去除角色。这对于权限管理
很方便。
uttsmb4字芍集将成为默认字符集,并支持Unicode 9
默认字符集将从1atinl改为uttsmb4,默认走序collatlon将从latlnl_swedish_ci改为utf8mb4_800_ci_ai。
不可见的索引
可以将一些索引设置为不可见,这样SOL优化器就不会用到它,但是它会继续在后台板纷寺
更新。当有需要时,可以随时恢复可见。
对二进制数据可以进行位操作
不仅仅可以对BIGIN下进行位操作,从8.0开始也支持对[VAR]BINARY/[TINY|MEDIUM|LONG]BLOB进行位操作了。
持续性的全球变量
lnnoDB缓冲区现在可以估算主内存缓存区中的有多少表和索引,这可以让优化器选择访问
方式时知道数据是否可以存储在阵存中环旱必须存储到磁盘上。
重构BLOB
加速了片段读取/更新操作,可以加速JSON数据的操作。
重构SQL分析器
持续不断的逐步改进SQL分析器。旧的分析器由于其语法复杂性和目顶向下的分析方式从而有严重的限制,导致难以维护和扩展。
成本模型
1nn0OB缓冲区现在可以估算主内存缓存区中的有多少表和索引,这可以让优化器选择访问
方式时知道数据是否可以存储在阵存中环旱必须存储到磁盘上。
持久化自增值
Inn0OB会持久化保持自增序列的最大值到redo日志中。这个改讲环修复了一个非营老的19
g号bug。
改进扫描性能
改进了lnnOOB范围里到旬的性能,可提升全表查询和范围查询5一20%的性能。
临时表
取消对压缩临时表的支持,并存储临时表的元数据到内存中。
目前8.0.0还是开发版本,如果你希望体验和测试最新特性,可以从 dev.mysql.com[3] 下载各个平台的安装包。不过,MySQL软件包是越来越大了,Linux平台上的二进制打包后就将近有1 GB。如果在产品环境中使用,在8.0没有进入稳定版本之前,请继续使用5.7系列,当前最新的版本是5.7.15 GA版本——这只有600 M多。