相关文档 下载此手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  在两个键上搜索

5.6.7 在两个键上搜索

使用单个键的 OR 已得到很好的优化,AND 的处理也是如此。

唯一棘手的情况是将两个不同的键与 OR 结合进行搜索。

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

此情况已优化。请参见 第 10.2.1.3 节,“索引合并优化”

您还可以通过使用 UNION 来有效地解决此问题,该子句将两个单独的 SELECT 语句的输出组合在一起。请参见 第 15.2.18 节,“UNION 子句”

每个 SELECT 仅搜索一个键,并且可以被优化。

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';