O melhor... está sempre para vir!

O tamanho dos varchar interessa, mesmo que o SQL Server só use o espaço que necessita

Esta situação vem “à berlinda” de vez em quando. A última vez onde vi esta questão aparecer foi num evento de profissionais de Data Platform. O tamanho das variaveis não interessa, se eu colocar um varchar(max) ou varchar(50) é igual porque o SQL Server só usa o espaço que necessita. Saltamos directamente para a parte interessante, a demo. Criamos uma tabela e inserimos algumas linhas Temos então...

Vistas sobre tabelas com índices clustered sobre colunas nullable trazem surpresas

Há uns dias atrás andava pela minha vidinha a avaliar a performance de uma SP que estava a desenvolver e deparei-me com uma situação pouco usual. Não tenho uma maneira fácil de explicar o que estava a acontecer sem mostrar onde me estava a meter. Vamos lá explicar isto pondo já as mãos na massa. Vou criar uma tabela base e copiá-la para 4 tabelas que vão...

SHRINK ao Log antes do processamento não é uma boa ideia

Há uns dias deparei-me com um script que, no início de um processamento grande, fazia SHRINK aos ficheiros de Log das BD’s com que trabalhava. Como é meu apanágio, quando disse que “não era uma boa ideia” também disse que “qualquer dia faço uma demo para isso”. Pensei eu que iria ser uma “entradazinha” no blog e vai-se a ver acabou nisto. tl;dr Não é uma boa...

Uma constraint ajuda muita gente, mas será que um índice ajuda muito mais?

Há uns dias, em conversa com colegas sobre o meu post em que recomendava o uso de constraints, surgiu uma pergunta pertinente: “Então não bastava termos usado uns índices e o assunto ficaria resolvido?” A minha resposta foi “Não. Mas não te fies na minha resposta, testa e vê com os teus próprios olhos, ou melhor ainda, com o teu management studio.”   Vamos lá revisitar o código do...

NOLOCK não respeita nenhuma ordem

Engana-me que eu gosto! O título é um pouco desafiador, mas vamos lá explicar isto timtim por timtim. Quem me conhece sabe que não morro de amores pelo NOLOCK. Realmente, acho que é uma das “marteladas” muitas vezes evitável. Há tanto para dizer deste hint… muito já foi dito, basta procurarem por “SQL Server nolock” no vosso motor de busca preferido que encontram muita informação. O que...

Será que um rebuild da tabela actualiza as estatísticas?

Há uns dias surgiu uma questão bem pertinente no seio da minha equipa: “No fim do processo quero fazer rebuild à tabela, isso actualiza todas as estatísticas também?” Resposta… aquela famosa “resposta do informático”: Depende. Resposta do outro lado? Depende do quê? Resposta: De muita coisa. Bem, nada como vermos com os nosso olhos. Vamos lá mostrar do que depende. Como base, para os menos versados no...

Uma constraint ajuda muita gente, duas constraints ajudam muito mais

Deparo-me com esta questão algumas vezes, por isso acho que é daquelas que merece uma entrada aqui. Já criei esta demo há algum tempo para mostrar a um colega de trabalho o que acontece quando ajudamos o query optimizer, dizendo-lhe algumas coisas que nós já sabemos sobre os nossos dados. Neste caso concreto, “particionar” tabelas manualmente, mas sem colocar nenhuma check constraint serve para… pouco. 🙂 Sim,...

Extrair valores de uma string segundo um padrão com SQL de maneira simples

  Há uns dias necessitei de retirar alguns valores de configuração a partir de uma tabela, onde estavam codificadas com este estilo Neste caso, precisava de encontrar o “número da A”, neste caso 38. Como sou preguiçoso e sei que daqui a uns dias iria precisar de saber também os “números da B” resolvi criar uma função que me resolvesse o problema e nunca mais tivesse de...

Mas que ??????? é esta? Usar variáveis e parâmetros em SSIS com menos confusão.

  If you prefer reading this in English, the same content is available at my company’s blog.   Como parte do meu trabalho, uso frequentemente o SSIS, quer para desenvolver um package de raíz quer para alterar um existente. Uma das coisas que uso e abuso são parâmetros e variáveis. Frequentemente abro uma Execute SQL Task e vejo este “lindo” código… Até parece que não vai haver...

Dia Europeu da Internet Segura 2018

Hoje foi mais um dia europeu da internet segura. A Microsoft e a GNR realizaram um evento nos cinemas NOS do CascaiShopping com mais de 1000 participantes, entre jovens, professores, encarregados de educação e séniores. Juntei-me ao André Melancia em 4 workshops direccionados principalmente para  alunos com idades compreendidas entre os 10 e os 15 anos. Foi um desafio interessante por várias razões, começando logo pela necessidade...