Да, хотя с MySQL это менее вероятно. Причина в том, что MySQL не имеет действительно сложного оптимизатора на основе затрат. Преимущество промежуточных таблиц в том, что размеры известны. Оптимизатор на основе затрат может использовать эту информацию для улучшения плана запроса.
Это может помочь, когда подзапрос повторяется в запросе несколько раз. Промежуточная таблица гарантирует, что она обрабатывается только один раз (хотя CTE обычно делает то же самое).
Еще одно место, где это действительно может помочь, - это когда вы добавляете индексы в промежуточные таблицы. Добавление индексов - и их использование - может принести большую экономию средств, более чем компенсировать затраты на создание индекса.
Тем не менее, я обычно не рекомендую использовать для этой цели промежуточные таблицы, если только результаты необходимы для нескольких запросов. Я считаю, что только издержки отладки делают его не стоящим - по некоторым причинам я не всегда удаляю промежуточные таблицы, а затем теряю время на размышления, почему некоторые модификации не работают.
Что более важно, по мере изменения данных изменение запросов может быть проблемой. Я считаю, что изменение имени столбца, например, проще в одном запросе, чем когда логика c распределена по нескольким запросам.