Questão FC890992
Considerando a otimização de consultas em bancos de dados relacionais, uma das condições avaliadas é a seletividade, que tem como definição
Otimização (Tuning) em Banco de Dados
Vunesp 2 · 2025
Considerando a otimização de consultas em bancos de dados relacionais, uma das condições avaliadas é a seletividade, que tem como definição
- o número de blocos de memória ocupados pela tabela definida na consulta.
- a razão entre o número de registros que não contenham valores nulos e o número total de registros da tabela.
- o número máximo de acessos simultâneos permitido pelo sistema gerenciador de bancos de dados em uso.
- a razão entre o número de registros que satisfazem a condição definida na consulta e o número total de registros da tabela.
- o número de registros da tabela definida na consulta dividido pelo número total de registros de todas as tabelas do banco de dados.
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A seletividade de uma condição é a proporção de registros da tabela que satisfazem essa condição. Em termos matemáticos: \( \text{seletividade} = \frac{N_{\text{cond}}}{N_{\text{total}}} \), onde \(N_{\text{cond}}\) é o número de tuplas que atendem ao predicado e \(N_{\text{total}}\) é o total de tuplas da relação.
Esse valor varia entre 0 e 1. Valores próximos de 0 indicam alta seletividade, ou seja, poucos registros são retornados. Valores próximos de 1 indicam baixa seletividade, isto é, a maioria das tuplas atende à condição.
O otimizador usa a seletividade para escolher o plano de execução mais eficiente. Condições mais seletivas tendem a ser aplicadas primeiro e favorecem o uso de índices, enquanto baixa seletividade pode levar a varredura completa da tabela.
Como o banco não conhece sempre a distribuição exata, ele se apoia em estatísticas e histogramas para estimar \(N_{\text{cond}}\) e tomar decisões de custo.
Conteúdo do catálogo FC Concursos · Atualizado em