Nedávno jsem narazil na podobný problém, kdy CREATE TEMPORARY TABLE stála značné náklady kvůli neustálému opětovnému používání. Použil jsem také řešení, které popisuje Barranka (vytvořit jednou a zkrátit po dokončení nebo před opětovným použitím).
Pro ještě větší zvýšení výkonu jsem použil InnoDB tabulky, které byly vytvořeny na RAM disku (ramfs). To poskytuje všechny výhody úložiště InnoDB s velmi nízkými IO náklady. Toto je lepší řešení než použití paměťového modulu MEMORY, který je podle podpory Oracle k dispozici pouze pro starší aplikace a již nějakou dobu nebyl vylepšen ani rozšířen.