Postagens

Mostrando postagens de maio, 2021

Quebrando uma string em N colunas sem saber o número máximo de colunas

Imagem
 Olá pessoal, hoje gostaria de compartilhar um script que fiz e achei bem legal. Eu tinha a seguinte situação, precisei subir um arquivo csv para o SQL para fazer uma comparação, ao fazer essa comparação optei por quebrar essas linhas em colunas realizando um pivot, até ai sem segredos, mas como em SQL nem tudo é fácil, eu não sabia a quantidade de colunas que precisava por no pivot :(, para resolver esse problema eu lembrei de uma dica da lenda do tuning o Fabiano Amorim, que explica como contar a quantidade de X caractere na string. Vou explicar abaixo. Antes vamos montar a tabela auxiliar e já vou postar o script aqui: use tempdb drop table if exists teste create table teste( line varchar(max) ) insert into teste values   ('aa,asasas,asasa,asa,sasasasa,add,dddads,dsdsds,ddsdsd') ,('skiaojhsaijsa,asasa,sasasa,sasas,as,as,a,sa,sa,sa,sa,a,a,a,sa,') ,('a,b') declare   @qtd_col int ,@col varchar(max) ,@sql_batch nvarchar(max) ,@delimited char(1) = ',' ,@na...

Removendo função com cross apply

Imagem
 Olá pessoal, tudo bem? Hoje gostaria de compartilhar meu primeiro Tuning na nova empresa, ter conseguido realizar essa melhoraria pro cliente foi muito gratificante pra mim e me deixou muito feliz, então decidi compartilhar com vocês. Antes de começar a explicar vamos montar o ambiente para teste. Irei disponibilizar 2 scripts, um para criar as tabelas que irei utilizar e outro para criar a função do teste. Obs: Esse script de criação de tabela, foi feito pelo Fabiano Amorim, uma lenda do tuning. Segue blog dele:  https://blogfabiano.com/ Outra observação importante é que aqui não estarei explicando profundamente sobre o operador apply para quem quiser conhecer sobre, leia esse artigo do Marcio Junior um cara que na minha opinião  é um dos melhores em tuning do Brasil. Segue blog dele com o post:  https://vulgomarcio.home.blog/2019/08/05/voce-conhece-o-operador-apply/ Agora vamos ao cenário, para replicar o cenário do cliente peguei duas tabelas famosas do banco...

Script para verificar volumetria de objetos nas bases da instancias.

Imagem
 Pessoal hoje gostaria de compartilhar com vocês dois script que fiz para fazer um levantamento de tamanho de todas as bases da instancia, eu tive que construir esses scripts para explicar para o cliente o porque de ele ter um hardware tão potente, mas vocês podem usar para explicar para o cliente ou o responsável pela área que precisam de mais hardware.        Primeiro eu fiz um script que faz um levantamento sintético, onde eu levantei a quantidade de objetos por base de dados, os objetos são, tabelas, procedures e função. O resultado do script é conforme abaixo: A ideia desse primeiro script é ter uma visão geral de quantos objetos temos no banco de dados. O segundo script que gostaria de compartilhar é um script analítico onde podemos detalhar os objetos, nesse script eu mostro por exemplo o nome da tabela a quantidade de linhas dela, quantos index e colunas ela tem e o tamanho dos dados e index, isso é muito interessante para observar tabelas que possuem mu...

Procedure que cria um script de insert.

Imagem
  Fala pessoal, beleza? Hoje gostaria de compartilhar com vocês um script que fiz há algum tempo, quando trabalhava em uma consultoria especializada em seguros, precisei fazer esse script porque muitas vezes precisávamos   pegar algumas amostras de dados de produção e jogar em uma base de homologação  e como a base era muito grande, 11 tb (isso mesmo 11 TB!!!) não era viável ficar "tombando" a base de produção para uma base de homologação, então fiz um script onde você passa o nome da tabela  ele faz um script de insert, mas não é apenas isso, pois para fazer isso existe um recurso chamado "Gerar script" do próprio management studio, na procedure que fiz e irei compartilhar com vocês, podemos passar filtros, usar DISTINCT, hints e escolher se queremos trazer a coluna com identity ou não! Achei bem bacana, me foi útil durante um bom tempo  e sei que ajudou uma galera da empresa, hoje espero que ajude mais pessoas! Exemplo de como executar o script e o resultado d...

Primeira postagem!!

 Há muito estava pensando em criar um blog para compartilhar alguns scripts que faço no dia a dia e também compartilhar ideias e experiências do dia a dia, minha ideia nessas postagens é sempre ajudar alguém. Esses dias ouvi do CEO da empresa que trabalho atualmente a Dataside " Não tenham medo de postar conhecimento, para você parece simples, mas para alguém será coisa nova", eu  não compartilhava as coisas que eu fazia no dia a dia por pensar ser simples demais e às vezes que, a maioria das pessoas já sabiam, mas essa frase dele e incentivos de alguns colegas de equipe me fizeram entender que esse pensamento é errado! É isso galera até mais!