Сначала отказ от ответственности - моя работа заключается в составлении отчетов, поэтому я сталкиваюсь с гораздо более сложными запросами, чем любой нормальный разработчик. Если вы пишете простое приложение CRUD (Create Read Update Delete) (это будет большинство веб-приложений), то вы действительно не хотите писать сложные запросы и, вероятно, делаете что-то не так, если вам нужно создать временные таблицы.
Тем не менее, я использую временные таблицы в Postgres для ряда целей, и большинство из них переведут на MySQL. Я использую их, чтобы разбить сложные запросы на ряд индивидуально понятных частей. Я использую их для согласованности - генерируя сложный отчет с помощью ряда запросов, и затем я могу разгрузить некоторые из этих запросов в модули, которые я использую в нескольких местах, я могу убедиться, что разные отчеты согласуются друг с другом. (И убедитесь, что если мне нужно что-то исправить, мне нужно исправить это только один раз.) И, редко, я намеренно использую их, чтобы вызвать конкретный план запроса. (Не пытайтесь делать это, если вы действительно не понимаете, что делаете!)
Так что я думаю, что временные таблицы великолепны. Тем не менее, для вас очень важно понимать, что базы данных обычно бывают двух видов. Первый оптимизирован для откачивания большого количества мелких транзакций, а другой оптимизирован для откачивания меньшего количества сложных отчетов. Эти два типа необходимо настраивать по-разному, а сложный отчет, запускаемый в транзакционной базе данных, рискует заблокировать транзакции (и, следовательно, заставить веб-страницы не возвращаться быстро). Поэтому, как правило, вы не хотите избегать использования одной базы данных для обеих целей.
Я предполагаю, что вы пишете веб-приложение, которому нужна транзакционная база данных. В этом случае вы не должны использовать временные таблицы. И если вам нужны сложные отчеты, сгенерированные из ваших данных транзакций, рекомендуется использовать регулярные (например, ежедневные) резервные копии, восстанавливать их на другом компьютере, а затем запускать отчеты на этом компьютере.