文档首页
MySQL 8.4 参考手册
相关文档 下载此手册
PDF (美国信纸) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  MySQL 8.4 常见问题解答  /  MySQL 8.4 常见问题解答:通用

A.1 MySQL 8.4 常见问题解答:通用

A.1.1. 哪个版本的 MySQL 是生产就绪的 (GA)?
A.1.2. 为什么 MySQL 版本号跳过 6 和 7,直接到 8.0?
A.1.3. MySQL 可以执行子查询吗?
A.1.4. MySQL 可以执行多表插入、更新和删除吗?
A.1.5. MySQL 有序列吗?
A.1.6. MySQL 有带有秒的小数部分的 NOW() 函数吗?
A.1.7. MySQL 支持多核处理器吗?
A.1.8. 为什么我看到多个 mysqld 进程?
A.1.9. MySQL 可以执行 ACID 事务吗?

A.1.1.

哪个版本的 MySQL 是生产就绪的 (GA)?

MySQL 9.0、8.4 和 8.0 积极支持生产使用。

MySQL 9 创新系列从 2024 年 7 月 1 日发布的 MySQL 9.0.0 开始。

MySQL 8.4 LTS 系列从 2024 年 4 月 30 日发布的 MySQL 8.4.0 开始。

MySQL 8 创新系列从 2023 年 7 月 18 日发布的 MySQL 8.1.0 开始。随着 2024 年 1 月 16 日发布的 MySQL 8.3.0,积极开发结束。

MySQL 8.0 在 2018 年 4 月 19 日发布的 MySQL 8.0.11 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。随着 创新和 LTS 版本模型 的引入,从 MySQL 8.0.34 开始,它成为一个错误修复系列。

MySQL 5.7 在 2015 年 10 月 21 日发布的 MySQL 5.7.9 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。随着 2023 年 10 月 25 日发布的 MySQL 5.7.44,MySQL 5.7 的积极开发结束。

MySQL 5.6 在 2013 年 2 月 5 日发布的 MySQL 5.6.10 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。MySQL 5.6 的积极开发已经结束。

MySQL 5.5 在 2010 年 12 月 3 日发布的 MySQL 5.5.8 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。MySQL 5.5 的积极开发已经结束。

MySQL 5.1 在 2008 年 11 月 14 日发布的 MySQL 5.1.30 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。MySQL 5.1 的积极开发已经结束。

MySQL 5.0 在 2005 年 10 月 19 日发布的 MySQL 5.0.15 中获得了通用可用性 (GA) 状态,该版本已发布用于生产使用。MySQL 5.0 的积极开发已经结束。

A.1.2.

为什么 MySQL 版本号跳过 6 和 7,直接到 8.0?

由于我们在该 MySQL 版本中引入了许多新的重要功能,因此我们决定从一个全新的系列开始。由于系列号 6 和 7 之前实际上已被 MySQL 使用过,因此我们使用了 8.0。

A.1.3.

MySQL 可以执行子查询吗?

可以。请参见 第 15.2.15 节,“子查询”.

A.1.4.

MySQL 可以执行多表插入、更新和删除吗?

可以。有关执行多表更新所需的语法,请参见 第 15.2.17 节,“UPDATE 语句”;有关执行多表删除所需的语法,请参见 第 15.2.2 节,“DELETE 语句”.

可以使用触发器来完成多表插入,该触发器的 FOR EACH ROW 子句在 BEGIN ... END 块内包含多个 INSERT 语句。请参见 第 27.3 节,“使用触发器”.

A.1.5.

MySQL 有序列吗?

没有。但是,MySQL 有一个 AUTO_INCREMENT 系统,它也可以处理多源复制设置中的插入操作。使用 auto_increment_incrementauto_increment_offset 系统变量,您可以设置每个服务器以生成不会与其他服务器冲突的自增值。 auto_increment_increment 值应大于服务器数量,并且每个服务器应具有唯一的偏移量。

A.1.6.

MySQL 有带有秒的小数部分的 NOW() 函数吗?

有,请参见 第 13.2.6 节,“时间值中的秒小数部分”.

A.1.7.

MySQL 支持多核处理器吗?

可以。MySQL 是完全多线程的,并利用了提供给它的所有 CPU。并非所有 CPU 都可用;现代操作系统应该能够利用所有底层 CPU,但也可能限制进程使用特定的 CPU 或 CPU 集。

在 Windows 上,目前对 mysqld 可以使用的 (逻辑) 处理器数量有限制:单个处理器组,限制为最多 64 个逻辑处理器。

多核的使用可能以以下方式体现

  • 通常使用单个核心来服务从一个会话发出的命令。

  • 一些后台线程会有限地使用额外的核心;例如,为了保持后台 I/O 任务的运行。

  • 如果数据库是 I/O 密集型的(由 CPU 使用率低于容量指示),添加更多 CPU 毫无用处。如果数据库被划分为一个 I/O 密集型部分和一个 CPU 密集型部分,添加 CPU 仍然可能有用。

A.1.8.

为什么我看到多个 mysqld 进程?

mysqld 是一个单进程程序,而不是多进程程序,它不会 fork 或启动其他进程。但是, mysqld 是多线程的,并且一些进程报告系统实用程序会为多线程进程的每个线程显示单独的条目,这可能导致看起来有多个 mysqld 进程,而实际上只有一个。

A.1.9.

MySQL 可以执行 ACID 事务吗?

可以。所有当前的 MySQL 版本都支持事务。 InnoDB 存储引擎提供具有行级锁、多版本、非阻塞可重复读和所有四个 SQL 标准隔离级别的完整 ACID 事务。

NDB 存储引擎只支持 READ COMMITTED 事务隔离级别。