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:
- Cardinality, Cost, Selectivity.
- Disk memory, Indexes, RAM memory.
- Filters, Partitions, Primary keys.
- Indexes, Join operations, Size.
- 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