FC ConcursosFC Concursos

Questão FC369589

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

Sistema de Gerenciamento de Banco de Dados (SGBD)

FGV · 2024

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:

  1. Cardinality, Cost, Selectivity.
  2. Disk memory, Indexes, RAM memory.
  3. Filters, Partitions, Primary keys.
  4. Indexes, Join operations, Size.
  5. Joins, Projections, Selection.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

Cardinality: é a estimativa do número de linhas que cada operação do plano de execução vai produzir. O otimizador usa estatísticas de tabelas e índices para prever essas quantidades; uma cardinalidade errada leva a escolhas subótimas de plano.

Selectivity: representa a fração de linhas que satisfaz um predicado (por exemplo, WHERE). Geralmente calculada como \(sel = \frac{linhas\_que\_passam}{linhas\_totais}\). O produto das seletividades dos predicados aplica-se para obter a cardinalidade resultante.

Cost: é a medida agregada de recursos (I/O, CPU, memória) que o estimator atribui a um plano. O custo é função das cardinalidades e seletividades estimadas e guia a escolha do plano de menor custo. Portanto, precisão nas estatísticas é crítica para bons resultados de tuning.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo