É realmente ruim para obter "spool de mesa" no plano de execução do SQL Server? Se não como é vantajoso? Nós realmente procuramos nos livrar do Spool de Mesa?
Respostas:
1 para resposta № 1De acordo com MSDN:
O operador lógico de spool preguiçoso armazena cada linhaa partir de sua entrada em um objeto temporário oculto armazenado no banco de dados tempdb. Se o operador é rebobinado (por exemplo, por um operador Nested Loops), mas não é necessário, os dados em spool são usados em vez de redigitalizar a entrada. Se a religação for necessária, os dados em spool serão descartados e o spool objeto é reconstruído pela nova verificação da entrada (rebote).
É sempre melhor não ter nenhum operador do que ter um. As vantagens são descritas acima (sem redigitalização). A desvantagem é que as linhas devem ser armazenadas em tempdb (geralmente, cabe na memória para acesso mais rápido).
Normalmente, não é ruim ter esse operador, a menos que tudo se encaixe na memória. Você deve compartilhar o plano de execução / consulta para obter mais explicações detalhadas e possíveis ajustes.