8.4 中文镜像

MySQL 8.4 参考手册 · 中文镜像

正文为中文,英文原文默认隐藏。点击任意中文段落即可展开 / 收起对应英文原文。

打开官方英文原文 ↗

译文由机器翻译生成,仅供理解参考;有疑问请以官方英文原文为准。

中文点击中文段落可显示 / 隐藏英文原文本页译文覆盖 100%

5.6.7 使用两个键进行搜索5.6.7 Searching on Two Keys

使用单个键的 OR 已经非常优化,AND 的处理也是如此。An OR using a single key is well optimized, as is the handling of AND.

一个棘手的情况是使用 OR 结合两个不同键的搜索:The one tricky case is that of searching on two different keys combined with OR:

SELECT field1_index, field2_index FROM test_table
WHERE field1_index = '1' OR  field2_index = '1'

这种情况已经优化。请参见 第 10.2.1.3 节,“索引合并优化”。This case is optimized. See Section 10.2.1.3, “Index Merge Optimization”.

你也可以通过使用一个 UNION 来高效地解决问题,它可以将两个单独的 SELECT 语句的输出合并。参见 第 15.2.18 节,“UNION 子句”。You can also solve the problem efficiently by using a UNION that combines the output of two separate SELECT statements. See Section 15.2.18, “UNION Clause”.

每个 SELECT 只搜索一个键,并且可以进行优化:Each SELECT searches only one key and can be optimized:

SELECT field1_index, field2_index
    FROM test_table WHERE field1_index = '1'
UNION
SELECT field1_index, field2_index
    FROM test_table WHERE field2_index = '1';