FILME DE TERROR – QUERY INFERNAL

Galerinha,

Recentemente assisti à um filme de terror que me deixou com pesadelos durante uma semana.

Gostaria de recomendá-lo à vocês, mas tenho de alertá-los que não é indicado para menores de 18 anos, pessoas com problemas cardíacos e profissionais que conhecem muito bem T-SQL.

O nome do filme é QUERY INFERNAL!!!!!!!

Prestem atenção na imagem deste plano de execução:

QueryMortal

Notou alguma coisa errada ou absurda ou quem sabe de outro planeta neste plano de execução?

Esse plano de execução é de uma consulta executada em ambiente de PRODUÇÃO através do SSMS por um usuário físico (e cabeçudo).

O meliante utilizou um antigo padrão ANSI para executar uma junção entre 5 tabelas (FROM Tabela1, Tabela2, Tabela3, Tabela4, Tabela5) e conseguiu causar um CROSS JOIN.

Conseguiram notar a estimativa de linhas retornadas pela consulta?

Serão apenas 7.774.770.000 BILHÕES de linhas retornadas, necessitando de apenas 920 GB DE MEMÓRIA para armazenar este resultado.

São em situações como esta que o DBA é extremamente necessário, pois auxiliará o desenvolvedor a escrever esta consulta seguindo as melhores práticas visando uma resposta bem mais rápida e eficiente do SQL Server.

Grande abraço a todos.

11 ideias sobre “FILME DE TERROR – QUERY INFERNAL

  1. Rubens G. Araujo

    Imagino que possa no mínimo ter algo errado com essa query??? Ou isso foi necessário?????????????

    Rubens G. Araujo

    (11) 98366-4459

    Resposta
  2. Gustavo Silva

    Prefiro acreditar que essa criatura veio de um futuro onde 920GB de memória seja algo tão inexpressivo quanto 1 bit é hoje…

    Resposta
  3. Pingback: Performance começa na modelagem | Alex Souza

  4. Frederico Madeira

    HAHAHA fala Vitor se os engenheiros das Microsoft ver isso os nego vão ter um surto…kkkkk e depois tem pessoas que dizem que sabem SQL e como você mesmo disse que o acesso para fazer apenas uma query rápida…kkkkkkkkkkkkkkkkkkkkkk abraços !!!!!

    Resposta
  5. Vinicius Eroico

    Fala Vitor blz?….esses cara que adoram “mexer” no SQL sao uma bençao na vida dos DBAs kkkkkk….

    Resposta
  6. Leonardo

    O problema está no DBA cabeçudo que deixou um usuário rodar uma query em produção. Com certeza é DBA Júnior.

    Resposta
    1. Ariel

      Infelizmente, muitas vezes digo por experiencia própria, algum gestor simplesmente diz: “Dê o acesso” e temos que conviver com isso…….

      Resposta
      1. Vitor Fava Autor do post

        Ariel,

        Isso acontece muito mesmo viu meu amigo.

        Acredito que nosso papel como DBA é alertar de maneira mais detalhada possível todos os possíveis impactos que um acesso desse tipo pode causar.

        Sempre lembrando que a principal responsabilidade do DBA é garantir a disponibilidade e performance do ambiente de banco de dados.

        Grande abraço.

    2. Vitor Fava Autor do post

      Grande Leonardo,

      O problema aqui foi mais de falta de comunicação mesmo, heheeh.

      Após uma análise em conjunto com o desenvolvedor a consulta foi reescrita.

      Grande abraço.

      Resposta

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.