Auditor Federal de Finanças e Controle - Área de Tecnologia da Informação (Operação e Infraestrutura) - manhã
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:
ACardinality, Cost, Selectivity.
BDisk memory, Indexes, RAM memory.
CFilters, Partitions, Primary keys.
DIndexes, Join operations, Size.
EJoins, Projections, Selection.
Revelar gabarito e comentário▾
GabaritoA — Cardinality, Cost, Selectivity.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
SQL Tuning: Fatores de Custo no Oracle Optimizer
Gabarito: letra A. O otimizador baseado em custo (CBO) da Oracle estima o custo de um plano de execução usando três fatores principais: cardinality (número de linhas), selectivity (fração de linhas selecionada) e cost (medida de recursos como I/O e CPU). O "estimator" é o componente que calcula esses valores para cada plano possível.
A banca testa o conhecimento sobre a teoria de tuning de SQL, especificamente os conceitos utilizados pelo Oracle Database para estimar o custo de execução.
Alternativa A — ✅ Correta ⟵ GABARITO
Cardinality, Cost, Selectivity. Esses são os três pilares do modelo de custo do Oracle CBO. A cardinalidade é o número estimado de linhas que uma operação retornará; a seletividade é a proporção de linhas que atendem a um predicado; o custo é um valor numérico que combina esses fatores e reflete o consumo de recursos. A combinação correta é exatamente a descrita na documentação oficial da Oracle.
Alternativa B — ❌ Incorreta
Disk memory, Indexes, RAM memory. Embora recursos de hardware (disco, RAM) influenciem o desempenho, o otimizador não os usa diretamente como fatores de custo. O CBO trabalha com estimativas baseadas em estatísticas (cardinalidade, seletividade) e não com componentes físicos isolados.
Alternativa C — ❌ Incorreta
Filters, Partitions, Primary keys. Filtros e partições são operações que podem aparecer em um plano de execução, mas não são os fatores pelos quais o custo é estimado. Chaves primárias são restrições de integridade, não métricas de custo.
Alternativa D — ❌ Incorreta
Indexes, Join operations, Size. Índices e operações de junção são elementos do plano, não fatores de estimativa. O tamanho (size) pode se relacionar à cardinalidade, mas sozinho não constitui um fator reconhecido pelo Oracle CBO como os três listados na alternativa A.
Alternativa E — ❌ Incorreta
Joins, Projections, Selection. Esses são operadores da álgebra relacional (junção, projeção, seleção). Embora apareçam em planos de execução, não são os parâmetros que o estimator avalia para calcular o custo. O Oracle CBO usa cardinalidade, seletividade e custo, não operações relacionais como métricas.
PEGA ESSA DICA!
Para questões sobre Oracle optimizer, memorize a tríade Cardinality, Selectivity, Cost. Eles são a base do CBO e frequentemente cobrados em provas de banco de dados.