Spec-Zone.ru › MySQL 9.2

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

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/searching-on-two-keys.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API