Browsed by
Author: José Diz

Análise de dados com SQL: moda

Análise de dados com SQL: moda

Este é o quarto artigo sobre como utilizar a linguagem SQL para realizar análise de dados, tratando agora de moda. 1. Introdução O objetivo desta série de artigos é demonstrar formas de se implementar em SQL os principais conceitos estatísticos. Embora não seja objetivo deste artigo tratar dos conceitos de estatística, ele contém rápida revisão … Continue Lendo “Análise de dados com SQL: moda”

Análise de dados com SQL: mediana

Análise de dados com SQL: mediana

Este é o terceiro artigo sobre como utilizar a linguagem SQL para realizar análise de dados, tratando agora de mediana. 1. Introdução O objetivo desta série de artigos é demonstrar formas de se implementar em SQL os principais conceitos estatísticos. Embora não seja objetivo deste artigo tratar dos conceitos de estatística, ele contém rápida revisão … Continue Lendo “Análise de dados com SQL: mediana”

Análise de dados com SQL: distribuição de frequências & média

Análise de dados com SQL: distribuição de frequências & média

Estatística: a ciência que diz que se você comeu um frango e eu não comi nenhum então teremos comido meio frango cada um, em média. (Dino Segre) Alguns artigos que relacionam as habilidades desejadas para um cientista de dados destaca SQL como uma das 3 linguagens que deve conhecer, sendo R e Phyton as duas … Continue Lendo “Análise de dados com SQL: distribuição de frequências & média”

Fragmentação de índices – além do básico

Fragmentação de índices – além do básico

Esta é a segunda parte do artigo sobre fragmentação de índices e nela é demonstrado o impacto das instruções INSERT, UPDATE e DELETE no conteúdo e disposição das páginas que compõem a tabela. Bem ilustrado, com um passo a passo demonstrando a ocorrência da fragmentação do índice clustered enquanto a tabela é modificada. Na publicação … Continue Lendo “Fragmentação de índices – além do básico”

Aprenda T-SQL com os melhores: [2] Erland Sommarskog

Aprenda T-SQL com os melhores: [2] Erland Sommarskog

Este artigo faz parte da série “Aprenda T-SQL com os melhores” em que relaciono publicações (artigos, livros, palestras, vídeos etc.) daqueles que considero os principais autores de publicações sobre T-SQL. Este segundo artigo é sobre Erland Sommarskog; já leu ou ouviu comentários a respeito dele? Erland Sommarskog, sueco, é consultor independente de SQL Server e, … Continue Lendo “Aprenda T-SQL com os melhores: [2] Erland Sommarskog”

Fragmentação de índices – o básico

Fragmentação de índices – o básico

A fragmentação de índices no SQL Server é assunto antigo e recorrente em notas de blogs, em fóruns e também em grupos de telegram e whatsapp. Eu tinha lá minhas dúvidas e resolvi estudar o assunto, procurando conhecer as entranhas da fragmentação. O resultado é este artigo sobre fragmentação de índices no SQL Server, cuja … Continue Lendo “Fragmentação de índices – o básico”

Ative o modo turbo nas funções de janela

Ative o modo turbo nas funções de janela

No processo de melhora no desempenho de motores de automóveis uma das opções é acrescentar turbina que force a entrada de mais ar para as câmaras de combustão; é o turbocompressor. A partir do SQL Server 2016 é possível “instalar uma turbina”, melhorando o desempenho das funções de janela. 1. Introdução Em artigo anterior, Otimização … Continue Lendo “Ative o modo turbo nas funções de janela”

Autores em T-SQL

Autores em T-SQL

Quando em 2018 criei o Porto SQL foi definida uma seção para conter informações sobre os principais autores (em minha opinião, óbvio) de publicações sobre T-SQL. Entretanto, desde então ela está vazia, somente com referência curta a alguns autores. A seção está no menu Armazém, item Autores; alguma vez você passou por lá? Itzik Ben-Gan … Continue Lendo “Autores em T-SQL”

Otimização de funções de janela

Otimização de funções de janela

A partir do SQL Server 2012 novas funções de janela foram implementadas, várias delas permitindo construir códigos SQL mais eficientes. Mas mesmo assim é necessário ficar atento a como otimizar o processamento das funções de janela e este artigo detalha algumas técnicas. 1. Introdução Em outros artigos publicados no Porto SQL foi mencionado como otimizar … Continue Lendo “Otimização de funções de janela”

Índice de cobertura

Índice de cobertura

Em vários artigos na web e na documentação do SQL Server são fornecidas dicas de como criar índices para atender às junções definidas na cláusula FROM/ON ou ainda aos predicados da cláusula WHERE. Mas o que nem sempre esses textos explicam é sobre os critérios que o otimizador de consultas (query optimizer, vide artigo O … Continue Lendo “Índice de cobertura”

Migração de banco de dados para versão anterior do SQL Server

Migração de banco de dados para versão anterior do SQL Server

Você já se deparou com a mensagem de erro abaixo, Msg 948 The database ‘BD’ cannot be opened because it is version 904. This server supports version 852 and earlier. quando tentou restaurar um banco de dados utilizado anteriormente em outra instância? 1. Introdução 1.1. A mensagem de erro Às vezes é necessário migrar um … Continue Lendo “Migração de banco de dados para versão anterior do SQL Server”

“SQL Server 2017 Query Performance Tuning” – impressões iniciais

“SQL Server 2017 Query Performance Tuning” – impressões iniciais

Sempre fui rato de biblioteca, habituado a ler manuais para conhecer os recursos do produto ou serviço. Além dos manuais de referência técnica, costumo estudar assuntos técnicos em livros (impressos ou e-book). Aprendi a programar em T-SQL em livros de Itzik Ben-Gan, inclusive testando os exemplos dos livros à medida que os lia. Teoria e … Continue Lendo ““SQL Server 2017 Query Performance Tuning” – impressões iniciais”

Qual é mais rápido: NOT IN ou NOT EXISTS?

Qual é mais rápido: NOT IN ou NOT EXISTS?

Qual a melhor forma de obter relação dos produtos que não foram vendidos nos últimos 7 dias, de modo a avaliar estratégias de promoção desses produtos? Ou seja, como saber quais elementos estão no conjunto A mas não estão no conjunto B. 1. Introdução Bancos de dados relacionais estão baseados na teoria dos conjuntos e … Continue Lendo “Qual é mais rápido: NOT IN ou NOT EXISTS?”

Conversão de cursor para conjunto de linhas

Conversão de cursor para conjunto de linhas

Sua consulta está lenta como uma lesma? Por acaso tem cursor no código T-SQL dela? Então este artigo é o que você esperava. Ou não…  1. Introdução Em 2017 comecei a escrever artigo com o título “Quando cursor é a melhor opção”, mas nunca dei prosseguimento ao artigo. Consultando há pouco o esboço, foram escritas … Continue Lendo “Conversão de cursor para conjunto de linhas”

Configuração do banco de dados tempDB

Configuração do banco de dados tempDB

Algumas vezes participei de tópicos de fóruns de SQL Server em que o assunto era lentidão nas consultas, a relação dessa lentidão com o banco de dados tempDB, e como definir a quantidade de arquivos que devem ser criados para o tempDB. Certa vez me deparei com alguém afirmando que “… o limite máximo reconhecido … Continue Lendo “Configuração do banco de dados tempDB”