01
—
MySQL 时间线
mysql 版本 | 版本时间 |
版本3.23 | 2001 |
版本4.0 | 2003 |
版本4.1 | 2005 |
版本5.0 | 2006 |
版本5.1 | 2008 |
版本5.5 | 2010 |
版本5.6 | 2012 |
版本5.7 | 2015 |
版本8.0 | 2018 |
02
—
MySQL 8.0 特性
1. 官方表示 MySQL8 要比 MySQL5.7 快 2 倍。可怕,这可是 2 倍之差,相当于性能改进更快。
2. 从 MySQL 5.7 升级到 MySQL 8.0 仅支持通过使用 in-place 方式进行升级,并且不支持从 MySQL 8.0 降级到 MySQL 5.7(或从某个 MySQL 8.0 版本降级到任意一个更早的 MySQL 8.0 版本)。唯一受支持的替代方案是在升级之前对数据进行备份。
3. 从 MySQL 8.0 开始,新增了一个叫窗口函数的概念,它可以用来实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中。即窗口函数不需要 GROUP BY。
4. 在 MySQL 8.0 中,索引可以被“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。
5. MySQL 8.0为索引提供了降序支持。此类索引中的值以降序排列,我们将其向前扫描。在8.0之前的版本中,当用户创建降序索引时,我们创建了一个升序索引并向后扫描。好处之一是,前向索引扫描比后向索引扫描更快。
6. 从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。
7. MySQL 8.0添加了新的JSON函数,并提高了对JSON值进行排序和分组的性能。
8. MySQL 8.0添加了JSON表功能,该功能允许使用SQL机制处理JSON数据。 JSON_TABLE() 创建JSON数据的关系视图。它将JSON数据评估的结果映射到关系行和列中。用户可以使用SQL将函数返回的结果查询为常规关系表,例如联接,项目和聚合。
9. MySQL 8.0添加了聚合函数 JSON_ARRAYAGG() 来生成JSON数组,并添加了 JSON_OBJECTAGG() 来生成JSON对象。这样就可以将多行中的JSON文档组合到JSON数组或JSON对象中。
10. 所述 JSON_MERGE_PATCH() 由指定的功能的JavaScript工具(和其他脚本语言)的语义 RFC7396,即,其由所述第二文档的优先级删除重复。例如,JSON_MERGE('{“ a”:1,“ b”:2}','{“ a”:3,“ c”:4}'); #返回{“ a”:3,“ b”:2,“ c”:4}。
更多详细参照,mysql 官方网站,如下链接:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html
03
—
DB 引擎分类/排名
数据库,它的类型其实有很多种,我们一般常用且脱口而出的有 MySQL、nosql、MongoDB ......等等一系列。那大家有过了解大约有多少种吗?以及他们的一个排名趋势。
数据库种类目前根据某官方数据统计,种类有 342 种 。那么我就截取 4月份排名前30 的数据库分享给大家。如下图:
————————end————————
欢迎大家加入WeChat 技术交流群「wechat:xzzs730」
技术群交流 长按 ↑ 上方二维码 扫码加群
链接地址:技术群分享-存档记录
https://github.com/gtcarry888/WeChat-Sharing-records
如有其他问题,可留言至 gtcarry999@163.com 邮箱。