A.1 MySQL 5.7 常见问题解答:常规
-
A.1.1. 哪个版本的 MySQL 可以投入生产(GA)?
-
A.1.2. MySQL 5.7 可以执行子查询吗?
-
A.1.5. MySQL 5.7 是否有序列?
-
A.1.7. MySQL 5.7 是否可以与多核处理器一起使用?
-
A.1.8. 为什么我看到 mysqld 有多个进程?
-
A.1.9. MySQL 5.7 可以执行 ACID 事务吗?
**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_increment和auto_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事务隔离级别。 |