First of all . Why did you need the temporary table. If you only use it once. of use it once again. As I know, all the data was in memory as of SQLSERVER. when you have thousands of thousands rows of data. you still want to save these data in memory. or save them in disk temporary . I prefer to use Oracle's global temporary table. And I think it save so much cpu time ( to create in-memory table, destroy in memory table, to parse the table structure .... etc)