MySqL5和MySql8的区别

  1. 性能提升级。官方表示MySql 8.0的速度要比MySql5.7快2倍。MySql8.0在读/写工作负载。IO密集型工作负载,以及高竞争工作负载时相比MySql5.7有更好的性能。
  2. 更强的NoSQL文档支持。MySql从5.7版本开始提供NoSql存储功能,目前在8.0版本中这部分功能也得到了更大的改进。该项功能消除了对对立的NoSQL文档数据库的需求,而MySql文档存储也未schema-less模式的JSON文档提供了多文档事物支持和完整的ACID合规性。
  3. 窗口函数。也就是在满足某种条件的记录集合上执行特殊函数。它可以用来实现若干新的查询方式。窗口函数与SUM(),COUNT()这种集合函数类似,但它不会将多行查询结果合并未一行,而是将结果放回多行中。而是将结果放回多行中。即窗口函数不需要GROUP BY。窗口函数的使用,将大大提高相关分析型场景的效率。
  4. UTF-8编码。从MYSQL8.0开始,使用utfmb4作来MySQL的默认字符集,并支持Unicode 9 ,默认字符集将从 latin1 改为 utf8mb4,默认定序将从latin1_swedish_ci 改为 utf8mb4_800_ci_ai;
  5. 隐藏索引。可以将索引通过命令设置未隐藏或显示。对于倍隐藏的索引,它不会被查询优化器所使用,我们可以使用这一功能,对相关的查询进行性能调试,通过 隐藏 或 显示,分析数据库性能差异的原因,同时也可以去除无效的索引。
  6. 持久化设置。MySQL8.0 新增 SET PERSIST 的命令,该命令的配置值保存到数据目录下的mysqld-auto.cnf文件中,待重启后,读取该文件,用其中的配置覆盖缺省的配置文件,补充了SET GLOBAL 命令只能临时生效的不足;
  7. 重构 BLOB。重构 BLOB 加速了片段读取/更新操作,课加速JSON数据的操作。大幅改进了对JSON的技术支持,添加了基于路径查询参数从JSON字段中抽取数据的SON_EXTRACT()函数,以及用于将数据分别组合到JSON数组和对象中的JSON_ARAYAGG()和JSON_OBJECTAGG()聚合函数。
  8. 事物性数据字典。完全脱离了MyISAM存储引擎,真正将数据字典放到了InnoDB中的一些表中,不需要FRM,TRG,PAR等文件;Information Schema 现在以数据字典表的一个视图出现。也就是原则上可以不需要MyISAM数据表类型。系统表可以放到InnoDB中
  9. SQL角色。可以创建角色,给用户设置或去除角色,大大方便权限管理。
  10. 删除分区储存引擎。分区的责任已下移至存储引擎层。
posted @ 2023-03-14 10:25  筝弈  阅读(522)  评论(0编辑  收藏  举报
2 3
4