Questão FC296041
Segundo os resultados apresentados pela Pesquisa Anual de Comércio (PAC) realizada em 2021 pelo IBGE, o Brasil possuía cerca de 1.039.000 empresas comerciais da área varejista, com
Otimização (Tuning) em Banco de Dados
CESGRANRIO · 2024
Segundo os resultados apresentados pela Pesquisa Anual de Comércio (PAC) realizada em 2021 pelo IBGE, o Brasil possuía cerca de 1.039.000 empresas comerciais da área varejista, com cerca de 7.413.000 pessoas trabalhando nessas empresas em 31/12 daquele ano. Uma organização criou e populou um banco de dados relacional para a realização de estudos nessa área, com as tabelas EMPRESA, FUNCIONÁRIO, PRODUTO e VENDA, entre outras.
Nesse contexto, considere que, quando um determinado comando SELECT, que realiza acesso aos dados logicamente relacionados das quatro tabelas citadas, é executado no contexto apresentado, ele possui um alto tempo de resposta. Foi, então, avaliado que, dentre outras medidas, o desempenho da execução desse comando precisa ser aprimorado.
Nesse caso, é necessário observar se no plano de execução desse comando há
- buscas sequenciais a dados de alguma tabela que podem ser melhoradas por meio de índices.
- índices especiais para operações do tipo “loop” sem utilização plena.
- muitos índices sendo utilizados, o que pode prejudicar o desempenho do comando.
- operações do tipo “divisão” e, caso haja, substituí-las por “junções” equivalentes.
- operações do tipo “junção” e, caso haja, não utilizá-las.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
Uma **busca sequencial** (ou *full table scan*) ocorre quando o SGBD lê linha a linha uma tabela para localizar os registros solicitados. Em tabelas volumosas, isso gera alto I/O e latência, pois o custo cresce proporcionalmente ao número de linhas.
Índices são estruturas auxiliares (ex.: **B-tree**) que permitem localizar rapidamente registros sem varrer toda a tabela. Ao indexar as **colunas usadas em filtros, condições de junção ou ordenação**, o otimizador pode acessar diretamente os blocos relevantes, reduzindo drasticamente o tempo de resposta.
É importante criar **índices apropriados** (simples ou compostos, e índices de cobertura quando cabível) e manter as **estatísticas** atualizadas. Lembre-se do trade‑off: índices melhoram buscas, mas aumentam custo em inserções/atualizações e uso de espaço.
Verifique o plano com **EXPLAIN** para identificar buscas sequenciais e agir sobre as colunas mais críticas.
Conteúdo do catálogo FC Concursos · Atualizado em