Questão FC369696
Davi está trabalhando na indexação do novo banco de dados do Tribunal de Justiça de Mato Grosso do Sul (TJMS). O desempenho de seleções e junções depende em grande parte dos índice
Otimização (Tuning) em Banco de Dados
FGV · 2024
Davi está trabalhando na indexação do novo banco de dados do Tribunal de Justiça de Mato Grosso do Sul (TJMS). O desempenho de seleções e junções depende em grande parte dos índices ou esquemas de hashing existentes. Contudo, os índices causam overhead nas operações de inclusão, exclusão e atualização, devendo eles ser bem justificados. Davi identificou que existem muitas consultas de intervalo e que a recuperação de intervalo por uma chave composta auxilia na geração de relatórios.
Com base nas características do banco de dados, Davi pôde decidir:
- se um atributo deve ser indexado;
- que atributo ou atributos indexar;
- se um índice agrupado deve ser montado;
- se um índice de hash deve ser usado em um índice de árvore;
- se o hashing dinâmico deve ser usado para o arquivo.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Diante de consultas frequentes por intervalo e recuperação por chave composta, faz sentido avaliar a criação de um índice agrupado.
Um índice agrupado ordena fisicamente as linhas da tabela segundo a chave do índice, normalmente implementado como B+-tree. Essa ordenação permite varreduras contíguas no disco, tornando as pesquisas por intervalo e as leituras sérias para relatórios muito mais eficientes.
Além disso, quando a chave composta tem seus prefixos usados nas consultas, o índice agrupado explora essa ordem para acessos rápidos e junções ordenadas.
Como contrapartida, há sobrecarga em inserções, exclusões e atualizações pela necessidade de manter a ordem física, e só pode existir um índice agrupado por tabela. Assim, a decisão é justificada quando predominam leituras por intervalo e geração de relatórios, compensando o custo das operações de escrita.
Conteúdo do catálogo FC Concursos · Atualizado em