Home > Performance > Parallel SELECT… INTO – SQL Server 2014

Parallel SELECT… INTO – SQL Server 2014

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.

Categories: Performance
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: