Ответ
Misha v.3 07.04.2015 10:54
я не люблю COUNT в подзапросах. хз как оптимизатор в каждом конкретном месте его обработает.
вместо:
WHERE (SELECT COUNT(*) ...) > 0
я считаю, что надо написать:
WHERE EXISTS (SELECT * FROM ...)
согласно стандарту тут "*" сервер должен игнорировать и просто проверять есть ли хоть дна строка. в случае COUNT по хорошему он ОБЯЗАН посчитать количество строк, но в данном случае знание точного количества избыточно и это просто трата ресурсов (причем может быть неслабая трата)