云数据库 MySQL 版使用基于火山引擎深度优化的 MySQL 内核,完整兼容了原生 MySQL 的所有功能,同时集成了企业级的稳定性、可靠性、备份恢复、数据安全、性能优化等高级特性。本文列出了云数据库 MySQL 版在各版本中提供的主要内核功能。
功能分类 | 功能 | 描述 | 支持的版本 |
---|---|---|---|
功能 | MDL 锁视图 / DDL 进度显示 | 轻量化的 performance_schema 功能,能够在低消耗的前提下提供 MDL 锁视图与 DDL 进度显示的能力。 | MySQL 5.7,MySQL 8.0 |
功能 | 数据库工作台(DBW)为云数据库 MySQL 版提供的定时任务与周期性任务的管理功能,支持创建在固定时间或按周期循环执行 SQL 语句的任务,以此达成定时执行或周期性执行的目标。 | MySQL 5.7,MySQL 8.0 | |
功能 | Sequence Engine | 云数据库 MySQL 版提供的 Sequence Engine,用于获取唯一递增序列值。Sequence Engine 是一个逻辑引擎,底层仍使用 InnoDB 存储引擎进行数据持久化,可以兼容现有的数据备份恢复工具。上层通过封装,实现了序列值生成、缓存等等功能。 | MySQL 5.7,MySQL 8.0 |
功能 | 云数据库 MySQL 版提供的隐藏主键功能,在 8.0 社区版的基础上对社区的隐藏主键进行了若干优化,并在 MySQL 5.7 通过唯一索引实现了类似 GIPK 的功能。 | MySQL 5.7,MySQL 8.0 | |
功能 | Flashback Query for MySQL 8.0 | 闪回查询功能,仅通过简单的 SQL 语句即可查询误操作前的历史数据。 | MySQL 8.0 |
稳定性 | 异步删除大表 | 删除大表的操作会由内核自动异步完成,降低删除大表操作对实例性能产生的波动。 | MySQL 5.7,MySQL 8.0 |
稳定性 | 空闲事务清理 | 云数据库 MySQL 版提供的自动清理长时间空闲的事务的能力。 | MySQL 5.7,MySQL 8.0 |
稳定性 | 线程池 | 云数据库 MySQL 版提供的线程池(Thread Pool)功能,可以使用指定数量的服务端线程来处理大量的连接,保证服务稳定性。 | MySQL 5.7,MySQL 8.0 |
稳定性 | 并发控制 | 云数据库 MySQL 版 针对突发流量和特殊类型 SQL 进行并发限制,提高数据库的稳定性。 | MySQL 5.7,MySQL 8.0 |
稳定性 | Statement outline for MySQL 8.0 | 云数据库 MySQL 版提供的 Statement outline 功能可将 SQL 的执行计划与 SQL 查询模板绑定,用户无需修改 SQL 即可将查询计划固化,避免 SQL 的执行计划会发生非预期的变化而造成稳定性风险。 | MySQL 8.0 |
性能 | 云数据库 MySQL 版采用的相同热点行的更新批量执行的方式,以降低热点数据更新时行锁冲突的核心问题。 | MySQL 5.7,MySQL 8.0 | |
性能 | Hotcache | 云数据库 MySQL 版采用的将 BufferPool 内存放到共享内存中,重启后直接复用原本的内存的性能提升方案,减少了因实例重启后 BufferPool 中的数据缓存被清空而导致的性能抖动。 | MySQL 5.7,MySQL 8.0 |
功能 | 数据库工作台为云数据库 MySQL 版提供的 SQL 洞察功能,该功能可以捕获、审查和分析所有的 SQL 语句,自动记录和分析数据库内核生成的 SQL 语句,包括执行账号、IP 地址和执行详情等信息。 | MySQL 5.7,MySQL 8.0 |