Самый быстрый запрос для проверки, возвращает ли он хотя бы одну строку

Мне просто нужно знать, возвращает ли запрос запись или нет.

Конечно, я могу сделать это:

SELECT COUNT(*) FROM tbl WHERE conds;

Но это возвращает точное количество строк (конечно), и мне не нужны эти накладные расходы.

Поэтому я придумал такой запрос:

SELECT COUNT(*) FROM (SELECT id FROM tbl WHERE conds LIMIT 1) as t1

Ограничение внутреннего запроса до 1.

Это быстрее? Или, учитывая, что я делаю подзапрос, это отменяет преимущества LIMIT 1?

Примечание: для всех, кто спрашивает себя, я не могу применить LIMIT 1 к первому запросу, потому что он не работает

5
задан dynamic 26 November 2011 в 18:31
поделиться