Мне нужен этот запрос:
SELECT * FROM best WHERE best = 'value' AND lang = 'x'
UNION
SELECT * FROM best WHERE best = 'value' AND lang = 'custom'
LIMIT 1
Обычно мне нужна только одна запись, где best = 'value' и lang = 'x'
, если эта запись не найдена, мне нужно выполнить второй запрос с lang = 'custom'
Достаточно ли умен MySQL, чтобы понять, что, учитывая наличие LIMIT 1, когда первый запрос объединения возвращает что-то , ему не нужно выполнять второй запрос ?
Чтобы иметь только один запрос, я мог бы сделать:
SELECT * FROM best WHERE best = 'value' AND lang IN ('x','custom') LIMIT 1
Но с этим запросом я не могу сказать, уделить больше внимания записи с lang = 'x'