Вот статья. Там же комментарии.
http://1cexpo.ru/metodiki/20-tipichnye-prichiny-neoptimalnoj-raboty-zaprosov-i-metody-optimizaczii.html В двух словах: автор статьи утверждает, что соединять вложенные запросы с реальными таблицами напрямую нельзя. Требуется предварительно поместить вложенный запрос во временную таблицу.
В комментариях мнение оспаривается. Указывается на то, что временные таблицы хранятся на диске и поэтому СУБД работает с ними порядок медленнее.
Примем за аксиому, что код запроса у нас формируется динамически (т.е. сложность запроса варьирует), и кол-во данных в выборках тоже может быть разным.
Какой способ соединения вы бы использовали и почему?