Questão nº 45

Questão de Tecnologia da Informação · FGV STN 2024 (nº 45)

FGV2024Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura)Tecnologia da Informação
Gabarito: Aver comentário ↓

Em bancos de dados relacionais que utilizem a linguagem SQL (não procedural) a otimização de comandos SQL é um fator central no “tuning” de um banco de dados.
A otimização foca na determinação do modo mais eficiente para obter o resultado. Nesse contexto, o “estimator” é o componente que avalia o consumo de recursos num certo plano de execução.
De acordo com o que é preconizado pela Oracle, os fatores pelos quais o custo é estimado são:

Resposta comentada

Gabarito Alternativa A

O otimizador de consultas de um banco de dados, como o Oracle, age como um planejador inteligente que tenta prever o "custo" de diferentes formas de executar uma consulta SQL, escolhendo a mais barata. Para fazer essa previsão de custo, ele se baseia em algumas métricas fundamentais.

  • (A) Correta: Cardinality, Cost, Selectivity.

    • Cardinality (Cardinalidade) é a estimativa do número de linhas que uma operação (como um filtro ou um join) irá produzir ou processar. Quanto mais linhas, maior o custo.
    • Selectivity (Seletividade) é a estimativa da fração de linhas que satisfazem uma condição de filtro. Uma alta seletividade significa que poucas linhas passam pelo filtro, reduzindo o trabalho.
    • Cost (Custo) é a métrica final que o otimizador calcula para cada plano de execução, representando o consumo de recursos (CPU, I/O, rede) com base na cardinalidade e seletividade. Estes são os três pilares da estimativa de custo do otimizador.
  • (B) Incorreta: Disk memory, Indexes, RAM memory. Estes são recursos físicos ou objetos do banco de dados que influenciam o custo, mas não são os fatores pelos quais o custo é estimado diretamente. O custo é estimado em termos de I/O e CPU, que são afetados por esses recursos.

  • (C) Incorreta: Filters, Partitions, Primary keys. Estes são elementos do banco de dados ou tipos de operações que o otimizador considera ao construir um plano. Os filters (filtros) afetam a selectivity (seletividade), partitions (partições) podem reduzir a cardinality (cardinalidade) e as primary keys (chaves primárias) geralmente implicam em índices que afetam o caminho de acesso, mas eles não são os fatores de estimativa em si. Armadilha da banca: Esta alternativa é tentadora porque esses elementos são cruciais para a otimização, mas são meios ou objetos que influenciam as métricas de estimativa (cardinalidade, seletividade) e o custo final, não as métricas de estimativa em si.

  • (D) Incorreta: Indexes, Join operations, Size. Semelhante à alternativa B e C, indexes (índices) e join operations (operações de junção) são componentes ou operações que o otimizador avalia, e o size (tamanho) (de tabelas, linhas) é um atributo que afeta o custo. No entanto, eles não são os fatores primários pelos quais o custo é estimado, mas sim elementos que contribuem para o cálculo da cardinalidade, seletividade e custo.

  • (E) Incorreta: Joins, Projections, Selection. Estas são operações da álgebra relacional. O otimizador estima o custo de realizar essas operações, mas os fatores que ele usa para essa estimativa são a cardinalidade, a seletividade e o custo resultante de cada etapa. "Selection" aqui se refere à operação de filtrar linhas, mas a métrica usada para quantificar o efeito dessa operação é a "selectivity".

Fonte: FGV STN 2024 Auditor Federal de Finanças e Controle - Tecnologia da Informação (Operação e Infraestrutura) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho