Eu tenho construído procedimentos armazenados e não consigo encontrar nenhuma documentação sobre como o otimizador do SQL Server lida com tabelas #temp.
Se eu tiver 4 junções a uma tabela #temp onde essa tabela #temp é criada DURANTE a execução do procedimento armazenado e a tabela #temp pode conter de zero a muitos registros, como isso é estimado?
Estima-se que seja tão grande quanto algumas das tabelas na junção, já que não há estatísticas no momento de CREATE/ALTER? Estima-se que seja pequeno? Estima-se que seja como outras mesas #temporárias?
Observe que isso está assumindo que não há recompilação no tempo de execução e que o original é usado.