O SQL Server disponibiliza a execução de consultas com paralelismo. As tarefas são executadas simultaneamente trazendo o resultado final mais rapidamente, porem nem sempre isso pode ser tão vantajoso, já que a execução da consulta pode ser “quebrada” em alguns casos, o custo de “juntar” os processos de cada CPU, pode ser mais custoso do que ser executado por apenas uma CPU (em alguns casos). Mas executar consultas em paralelo também pode trazer uma melhora significativa na performance, mas não existe uma receita certa, isso vai da analise da consulta.
Para executar uma consulta com paralelismo no SQL Server utilize OPTION(MAXDOP NÚMERO DE CPUs), como no exemplo
SELECT * FROM cliente OPTION(MAXDOP 4)
Se você determinar o MAXDOP como 1, fará com que o paralelismo seja anulado, caso você determine um número maior de processadores que o servidor tem, ele usará o quantidade que o servidor tem.
Essa query hint é mais para “debug”, já que podemos configurar de paralelismo no nível de instância como segue
VIA T-SQL
sp_configure 'show advanced options', 1; GO RECONFIGURE WITH override; GO sp_configure 'max degree of parallelism', NÚMERO DE CPUs; GO RECONFIGURE WITH override;
Via gráfico
1 – Vá nas propriedades da instância e selecione a opção avançado
2 – E determine o valor na propriedade Limite máximo de paralelismo
Até a próxima pessoal!