文档首页
MySQL 9.0 参考手册
相关文档 下载此手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  MySQL 9.0 常见问题解答  /  MySQL 9.0 常见问题解答:一般

A.1 MySQL 9.0 常见问题解答:一般

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) 状态,该版本用于生产使用。从 MySQL 8.0.34 版本开始,它成为了一个 bug 修复系列,引入了 创新和 LTS 发行版模型

MySQL 5.7 在 2015 年 10 月 21 日发布的 MySQL 5.7.9 版本中实现了通用可用性 (GA) 状态,该版本用于生产使用。MySQL 5.7 的主动开发于 2023 年 10 月 25 日结束,发布了 MySQL 5.7.44 版本。

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.4 节,“使用触发器”

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 是一个单进程程序,而不是多进程程序,它不会派生或启动其他进程。但是,mysqld 是多线程的,一些进程报告系统实用程序会为多线程进程的每个线程显示单独的条目,这可能导致出现多个 mysqld 进程,而实际上只有一个。

A.1.9.

MySQL 能执行 ACID 事务吗?

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

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