Um de nossos procedimentos armazenados estava usando Cursor para atualizar linhas. O total de linhas a serem atualizadas varia de 1.000 a 2.000. Em nosso cenário, esse procedimento armazenado levava 50 minutos para concluir a atualização.
Substituí o Cursor e usei Table Variable. A qualquer momento, a variável de tabela também conterá de 1.000 a 3.000 linhas. Quando executado, a atualização terminou em 2 minutos.
O servidor é o Windows Server 2012 de 64 bits com 64 GB de RAM. SQLServer 2008
Quero saber se devo substituir Table Variable por #TempTable? No cenário mencionado acima, Table Variable está funcionando bem.
Eu verifiquei algumas postagens na tabela variável. Uma postagem diz que o SQL Server decide quando manter a variável de tabela na memória e quando movê-la para o TempDB.
Para a configuração acima mencionada, quando a Table Variable será movida para TempDB?
Na verdade, a tabela Temp e a variável Table usam tempdb (criada em Tempdb). Verifique o código abaixo que usarei para criar a tabela temporária e a tabela de variáveis. e verifique onde eles foram criados.