MySql8.0的新特性

MySQL8.0引入了多项重要改进,如数据字典取代.frm文件、窗口函数增强、通用表表达式、JSON支持增强、空间数据支持、InnoDBCluster高可用性、文档存储模型以及角色管理和资源调优。这些新特性提升了性能和管理效率。
摘要由CSDN通过智能技术生成

MySql8.0相较于MySql5.7有了很多改变,引入了许多新特性和改进,以下列举一些MySQl8.0新增的特性

数据字典 (Data Dictionary):

MySQL 8.0 引入了数据字典,用于存储数据库对象的元数据,取代了之前的 .frm 文件。这提高了性能和管理的灵活性。

Window Functions:

支持窗口函数,允许在查询结果集上执行聚合和分析函数,如 ROW_NUMBER()RANK()DENSE_RANK()

SELECT employee_id, salary, 
       RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;

Common Table Expressions (CTEs):

  • 引入了通用表达式,允许在查询中创建临时结果集,提高可读性和模块化。
WITH high_salaries AS (
   SELECT * FROM employees WHERE salary > 50000
)
SELECT * FROM high_salaries WHERE department_id = 10;

JSON 支持的增强:

  • 提供了更多的 JSON 函数和操作,包括 JSON 路径表达式和 JSON 聚合函数。
SELECT json_extract('{"name": "John", "age": 30}', '$.name');

Spatial Data Support:

  • 增加对空间数据类型和空间索引的支持,使 MySQL 8.0 成为更强大的地理信息系统 (GIS) 数据库。
CREATE TABLE locations (
   id INT PRIMARY KEY,
   name VARCHAR(255),
   geom GEOMETRY
);

InnoDB Cluster:

  • 引入了 InnoDB Cluster,简化了 MySQL 高可用性和容错性的配置,提供了自动故障转移和恢复功能。

Document Store:

  • MySQL 8.0 提供了文档存储模型,使其更适合 NoSQL 数据库的使用场景。
CREATE TABLE mycollection (data JSON);
INSERT INTO mycollection VALUES ('{"name": "Alice", "age": 25}');

Roles:

  • 引入了角色的概念,允许将权限集中管理并分配给用户。
CREATE ROLE 'developer';
GRANT SELECT, INSERT, UPDATE ON database.* TO 'developer';

资源管理和调优:

  • 引入了新的系统变量和配置选项,允许更细粒度地调整数据库的资源使用和性能参数。例如,innodb_dedicated_server 可以使 InnoDB 存储引擎在专用服务器上自动调整配置。
SET GLOBAL innodb_dedicated_server = ON;

Persistent 系统变量:

  • 引入了持久性系统变量,使得系统变量的设置能够在数据库重启后保持不变。这有助于更好地管理和维护数据库的配置。
SET PERSIST innodb_buffer_pool_size = 2G;

 

 

 

 

 

 

 

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值