Замыкает ли MySQL функцию IF ()?

Мне нужно запросить данные из второй таблицы, но только если выполняется редкий набор условий в основной таблице:

SELECT ..., IF(a AND b AND c AND (SELECT 1 FROM tableb ...)) FROM tablea ...

условия a, b и c почти всегда ложны, поэтому я думаю, что подзапрос никогда не будет выполняться для большинства строк в наборе результатов и, следовательно, будет намного быстрее, чем соединение. Но это будет верно только в случае короткого замыкания оператора IF ().

Верно?

Спасибо за любую помощь, которую вы можете оказать.

5
задан DOOManiac 14 September 2010 в 21:35
поделиться