Dicas para otimizar suas funções SQL

Existe uma grande diferença entre escrever uma instrução SQL que funciona e uma que funciona bem e é performática.

Algumas vezes os desenvolvedores estão muito focados em escrever suas queries que apenas resolvam uma tarefa específica sem levar em consideração performance ou o impacto na instancia do SQL server, como por exemplo quantidade de CPU, IO e memória que eles estão consumindo.  Assim, eles comem outros processos do SQL Server durante a execução derrubando toda a instância. Este artigo tentará prover ao desenvolvedor alguns pequenos detalhes que podem ajudar a otimizar as instruções.

Um grande número de livros e “white papers” foram escritos falando sobre performance no SQL server e este artigo não ira de forma alguma substituir o conhecimento que pode ser adiquirido com esses livros e “white papers”. A intenção é prover uma lista rápida para ajudar o desenvolvedor a identificar possíveis gargalos que podem existir no código SQL.

Continue reading Dicas para otimizar suas funções SQL

Uma pequena coleção de comandos DBCC

Existe um número bem legal de comandos DBCC que não fazem nada de mais a não ser checar consistencia no banco de dados. Eu coloque alguns no script abaixo. O primeiro comando é o único considerado mais “perigoso”, isso causará um grande stress no sistema de I/O enquanto efetua a limpesa do cache. Dependendo do workload, isso pode levar alguns minutos, e durante o processo ele pode impactar a performance.

-- A Small Collection of Useful DBCC Commands
-- Glenn Berry
-- August 2010
-- http://glennberrysqlperformance.spaces.live.com/
-- Twitter: GlennAlanBerry

-- Clears out contents of buffer cache
-- Use caution before doing this on a production system!
DBCC DROPCLEANBUFFERS;

-- Clears procedure cache on entire Continue reading Uma pequena coleção de comandos DBCC