A.1 MySQL 5.7 常见问题解答:常规


**A.1.1. **
哪个版本的 MySQL 可以投入生产(GA)?
支持将 MySQL 8.0、5.7 和 MySQL 5.6 用于生产。
MySQL 8.0 的 MySQL 8.0.11 获得了通用可用性(GA)状态,该版本已于 2018 年 4 月 19 日发布供生产使用。
MySQL 5.7 的 MySQL 5.7.9 达到了一般可用性(GA)状态,该版本已于 2015 年 10 月 21 日投入生产。
MySQL 5.6 的 MySQL 5.6.10 达到了一般可用性(GA)状态,该版本已于 2013 年 2 月 5 日投入生产。
MySQL 5.5 在 2010 年 12 月 3 日发布供生产使用的 MySQL 5.5.8 达到了通用可用性(GA)状态。MySQL5.5 系列不再是当前版本,但仍在 Producing 受支持。
MySQL 5.1 通过 MySQL 5.1.30 获得了通用可用性(GA)状态,该版本已于 2008 年 11 月 14 日投入生产。MySQL 5.1 的积极开发已经结束。
((2005 2005 2005 2005 2005 2005 2005 2005 2005 2005)

**A.1.2. **
MySQL 5.7 可以执行子查询吗?
是。参见第 13.2.10 节,“子查询”

**A.1.3. **
MySQL 5.7 可以执行多 table 插入,更新和删除吗?
是。有关执行多 table 更新所需的语法,请参见第 13.2.11 节“ UPDATE 语句”;有关执行多 table 删除所需的操作,请参见第 13.2.2 节“删除声明”
可以使用触发器来完成多 table 插入,该触发器的FOR EACH ROW子句在BEGIN ... END块中包含多个INSERT语句。参见第 23.3 节“使用触发器”

**A.1.4. **
MySQL 5.7 是否具有查询缓存?它可以在服务器,实例或数据库上运行吗?
是。 (但是,从 MySQL 5.7.20 开始不赞成使用查询缓存,而在 MySQL 8.0 中已将其删除.)查询缓存在服务器级别运行,缓存与原始查询字符串匹配的完整结果集。如果进行完全相同的查询(这种情况经常发生,尤其是在 Web 应用程序中),则无需解析或执行;结果直接从缓存中发送。提供各种调整选项。参见第 8.10.3 节“ MySQL 查询缓存”

**A.1.5. **
MySQL 5.7 是否具有序列?
否。但是,MySQL 具有AUTO_INCREMENT系统,在 MySQL 5.7 中该系统还可以处理多主复制设置中的插入。使用auto_increment_incrementauto_increment_offset系统变量,您可以将每个服务器设置为生成与其他服务器不冲突的自动增量值。 auto_increment_increment值应大于服务器数量,并且每个服务器应具有唯一的偏移量。

**A.1.6. **
MySQL 5.7 是否具有仅用几分之一秒的NOW()函数?
是,请参见第 11.2.7 节“时间值的分数秒”

**A.1.7. **
MySQL 5.7 是否可以与多核处理器一起使用?
是。 MySQL 是完全多线程的,并且将在 os 支持的情况下使用多个 CPU。

**A.1.8. **
为什么我看到mysqld的多个进程?
使用 LinuxThreads 时,应该至少看到三个mysqld进程正在运行。这些实际上是线程。 LinuxThreadsManagement 器有一个线程,一个用于处理连接的线程,一个用于处理警报和 signal 的线程。

**A.1.9. **
MySQL 5.7 可以执行 ACID 事务吗?
是。所有当前的 MySQL 版本都支持事务。 InnoDB存储引擎提供具有行级锁定,多版本控制,非锁定可重复读取以及所有四个 SQL 标准隔离级别的完整 ACID 事务。
NDB存储引擎仅支持READ COMMITTED事务隔离级别。