Parallel SELECT… INTO – SQL Server 2014

Parallel SELECT… INTO – SQL Server 2014

Tempo de leitura: 2 minutos

Hoje apareci aqui no blog apenas para dar uma dica bem básica. Atualmente o Microsoft SQL Server está na versão 2014. Essa nova versão trouxe muitas features FANTÁSTICAS que possivelmente justifica uma migração da versão anterior (SQL 2012) para a versão atual (SQL 2014).

Uma das deficências das versões anteriores é que não era possível realizar operações de SELECT… INTO em paralelo e em algumas situações pode degradar um pouco do desempenho dessa operação.

Imagine um cenário onde você deve realizar uma operação de inserção de milhões de linhas em uma tabela de “stage” toda noite. E o resultado dessa tabela será trasnformado para um ambiente de data warehouse. Provavelmente essa operação de INSERT seria mais eficiente se fosse feito de forma paralela. Á partir do SQL 2014 esse tipo de operação é possivel, como podemos ver no link abaixo:

http://blogs.technet.com/b/italian_premier_center_for_sql_server/archive/2013/07/24/sneak-peek-on-sql-2014.aspx

A pergunta é: O paralelismo sempre vai me ajudar? A principio eu diria que DEPENDE, pois, pode haver alguns problemas se o paralelismo for utilizado de forma incorreta. Na internet existem diversas “threads” sobre o assunto,mas, recentemente li um artigo que explica de forma muito clara a questão do paralelismo dentro do SQL Server conforme podemos ver no link abaixo:

http://blogs.msdn.com/b/pfebrasilsql/archive/2014/08/21/max-degree-of-parallelism-cxpacket-maxdop.aspx

O principal ponto que gostaria de mostrar aqui é que, caso, exista um cenário onde possivelmente a “feature” de Parallel SELECT… INTO pode estar me prejudicando eu posso “desligar” esse comportamento.

O trace flag 9492 pode ser utilizado para o próposito de desabilitar essa nova feature dentro do SQL Server, lembrando que apenas utilize essa opção avançada se você REALMENTE SABE o que está fazendo. Pois, novas features geralmente sempre trazem melhorias e não o comportamento contrário. Lembre-se, TESTEs são VITAIS.

Obs: Para banco de dados de nível de compatibilidade 110 e superiores o Parallel SELECT … INTO podem ser automaticamente paralelizada se necessário.

Espero que tenham gostado.

Até a próxima.

Deixe uma resposta

%d blogueiros gostam disto: