SóProvas


ID
5041453
Banca
CESPE / CEBRASPE
Órgão
TCE-RJ
Ano
2021
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a técnicas de análise de desempenho e otimização de consultas, julgue o próximo item.


O otimizador da consulta tem a função de construir expressões de consultas que gerem a menor quantidade de registros de modo a diminuir o tamanho do resultado produzido.

Alternativas
Comentários
  • Nos sistemas gerenciadores de banco de dados (SGBD´s) os otimizadores de consultas se inserem entre a solicitação no usuário, em alto nível, após ser interpretada, e o gerador dos códigos (algoritmos) da pesquisa. ele meio que reescreve a solicitação do usuário de uma forma mais efetiva e interativa com os algoritmos de pesquisa.

    de forma mais lúdica, pode-se dividir o processo de consultas em 4 partes, contendo o otimizador:

    1- INTERPRETADOR DA MENSAGEM (onde há a tradução da solicitação do usuário p linguagem de máquina)

    2- OTIMIZADOR DE CONSULTA (onde há a reescrita de forma mais eficiente dessa solicitação)

    3- ALGORIMO (onde gera as formas e os planos de se chega chegar ao resultado da consulta)

    4- EXECUTOR (executa os algoritmos definidos e devolve um resultado)

  • Para mim o gabarito devia ser ERRADO.

    Uma vez que, o otimizador de consulta tem a função de otimizar a query de consulta do usuário, com intuito de obter uma maior performance.

    o ERRO na questão é falar que a função do otimizador de consulta é diminuir quantidade de registros de modo a diminuir o tamanho do resultado produzido.

    BASICAMENTE:

    O usuário escreve uma consulta cheia de WHERE e o otimizador irá utilizar INNER JOIN.

  • Nessa altura do campeonato o QC confundindo a CABEÇA da galera kkkkkkkkkkkk trágico.

  • fui por analogia, pois otimizar dá um sentido de melhorar a consulta, mas o gabarito tá errado

  • Que eu saiba um otimizador de consulta serve para diminuir a quantidade de trabalho que você tem para achar tal resultado, não sendo necessário a redução do resultado em si.

  • O otimizador de um SGBD é responsável por analisar uma consulta SQL e escolher qual a forma mais eficiente de executá-la. A escolha leva em considerações diversas informações internas do banco de dados. 

  • Gabarito da banca: questão errada

    Vai buscar a forma mais eficiente para executar a consulta. Basicamente otimização de acesso. Melhoria de desempenho.

  • Mais uma com o gabarito errado no QC. O gabarito oficial da CESPE é Errado (Questão 121). Como afirmaram algums colegas, o objetivo da otimização é deixar o processamento da consulta mais eficiente, não reduzir a quantidade de registros encontrados.

  • O módulo otimizador de consultas é um componente importante de qualquer SGBD moderno. Ele busca a forma mais eficiente de executar uma consulta SQL.

     

    A ideia é que, antes de qualquer coisa, a consulta seja compilada, para garantir que a sintaxe esteja correta. Depois disso, serão gerados planos equivalentes para a execução da consulta. Um plano é uma sequência de passos utilizados para executar o comado e são gerados diversos planos para a mesma consulta.

     

    Por exemplo: um plano pode varrer a tabela toda para encontrar os dados e outro pode utilizar índices para tentar acelerar a leitura. Em seguida, será avaliado o custo computacional de cada um e, por fim, o que tiver menor custo será o escolhido.

     

    Perceba que o otimizador da consulta não tem o intuito de modificar nada no resultado de uma consulta. Ele apenas busca pela forma menos custosa de executar o comando.

     

    Concluímos, assim, que a assertiva está errada.

  • Essa merecia a resposta B de branco.

  • Otimizar - melhorar o desempenho - aumentar a qualidade - buscar uma melhor experiencia.

    O otimizador da consulta tem a função de construir expressões de consultas que gerem a menor quantidade de registros ?

    Sua função é o melhor desempenho.

    Gab - errado.

  • Acertei por dedução, pois se eu quero melhorar ou otimizar algo, não vou reduzir os registros pra diminuir o tamanho do resultado.

  • Em 23/03/21 às 19:31, você respondeu a opção C.! Você errou!

    Em 19/02/21 às 16:19, você respondeu a opção E.! Você errou!

    HAHHAHAHAHAHAHAHAHAHA

  •  OTIMIZAÇÃO -> DEIXAR O PROCESSAMENTO DA CONSULTA + RÁPIDO (EFICIENTE, CONCISO)

  • A otimização de consulta (também conhecida como tuning SQL) em nenhum momento tem o objetivo retornar uma menor quantidade de registros, mas garantir que os recursos sejam utilizados de forma mais eficiente.

    Por exemplo:

    Uma consulta funciona relativamente bem com poucos dados na base (até 100 registros), mas essa mesma consulta (SQL) com um milhão de registros demora para trazer os dados, isso acontece muito pois não está otimizada;

    Para otimizar pode-se utilizar

    • INNER JOIN;
    • Não agrupar colunas redundantes;
    • Se existe um join na mesma instrução select que tem um group by, tente reescrever uma consulta utilizando uma subconsulta em vez de usar o join. Se for possível fazer isso, o desempenho será melhor.

    Mas também pode ter melhorias na estrutura como colunas indexes.

    Fonte: curso do gosimulados

  • Em 29/03/21 às 15:19, você respondeu a opção C.

    Você errou!

    Em 22/02/21 às 22:02, você respondeu a opção E.

    !

    Você errou!

  • Gabarito: Errado.

     A otimização da consulta, onde o otimizador decide a ordem de leitura das tabelas, qual o índice ele irá utilizar, caso exista o índice, e finalmente o tipo de leitura que será realizada na tabela, ou seja, o algoritmo de busca dos dados. As decisões tomadas pelo otimizador são baseadas em estatísticas que o próprio servidor armazena. Por exemplo, ele avalia a quantidade de registros por tabela, a quantidade de dados duplicados para cada chave existente, e assim optará pelo plano de execução que gerar o menor custo e tempo para ser executado. Vale ressaltar, que o processo de otimização se baseia em heurísticas e nem sempre o caminho percorrido é o melhor.

    Bons estudos!

  • Otimização - torná-lo '' ótimo'', ou seja mais eficiente, aumentando o resultando.

  • GAB: ERRADO

    Segundo o conceito de otimizar é Dar a (algo, uma máquina, uma empresa) um rendimento ótimo, criando-lhe as condições mais favoráveis ou tirando (dele ou dela) o melhor partido possível; tornar (algo) ótimo ou ideal.

    >>questão conceitual galera<< Portanto Gab Errado.

  • O otimizador da consulta tem a função de construir expressões de consultas que gerem a menor quantidade de registros de modo a otimizar o resultado obtido.

    Força PF

  • Gaba: ERRADO

    O otimizador de um Sistema de Gerenciamento de Banco de Dados Relacionais (SGBDR) é responsável por analisar uma consulta SQL e escolher qual a forma mais eficiente de executá-la. A escolha leva em considerações diversas informações internas do banco de dados.

    Não tem relação nenhuma com o tamanho do resultado que será mostrado.

    Fonte: Pode confiar

  • Posso estar errado, mas é uma questão interpretativa, pois se vc quer melhorar a consulta, é melhor ter mais registros gerados na consulta ou aumentar o tamanho do resultado da consulta.

  • otimizar = melhorar = aumentar

    e não diminuir

  • Otimizador tem a funcionalidade de escolher uma estratégia eficiente para avaliar uma consulta.

  • Trata-se de uma questão sobre banco de dados.

    O comando da questão afirma que o otimizador de consultas diminui o tamanho do resultado produzido pela consulta.

    Errado. A consulta, seja ela passando pelo otimizador ou não, trará o mesmo tamanho em seu resultado, o que modifica são os passos para chegar nesse resultado, que tendem a ser mais performáticos com o otimizador.


    Gabarito do Professor: ERRADO.
  • A questão pode levar a uma interpretação errônea ao falar que o otimizador diminui o número de registros.

    Um das formas de otimizar uma consulta longa, é restringir os dados que serão utilizados em uma comparação (where do sql) antes de utilizá-los na seleção em si. Se você fizer o contrário, o interpretador primeiro traz todos os dados e depois compara cada um, isso despende muito processamento. É o caso de você utilizar muitos where (muitas comparações em um conjunto grande de dados) podendo ter feito um inner join antes (aqui que o otimizador entra).

    De certo modo os registros são diminuídos (internamente e de forma intermediária) antes da comparação, mas o erro da questão está no fato de que a quantidade de registros finais não será diminuída, essa tem que ser a mesma a ser apresentada ao usuário.