Questão de Banco de Dados — Otimização (Tuning) em Banco de Dados — INSTITUTO AOCP 2024
Banco de Dados›Otimização (Tuning) em Banco de Dados
Código
qa630646
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
A função do índice em um banco de dados é
Amelhorar o desempenho das consultas.
Bdiminuir a integridade dos dados.
Cfacilitar a exclusão de registros.
Daumentar o custo de armazenamento.
Ereduzir a segurança dos dados.
Revelar gabarito e comentário▾
GabaritoA — melhorar o desempenho das consultas.
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”.
Índices em banco de dados: função e impacto no desempenho
Gabarito: letra A. A função primária de um índice em banco de dados é melhorar o desempenho das consultas, agilizando a recuperação de registros ao oferecer caminhos de acesso alternativos que evitam a varredura completa da tabela (full table scan). Essa é a definição clássica de estrutura de acesso auxiliar, presente em qualquer material de banco de dados relacional.
Um índice é uma estrutura de dados auxiliar, associada a uma ou mais colunas de uma tabela, que funciona como uma espécie de "sumário" ou "catálogo" do banco. Em vez de percorrer todas as linhas de uma tabela para encontrar os registros que atendem a uma condição (operação conhecida como table scan ou full table scan), o SGBD consulta primeiro o índice, que está ordenado, e localiza rapidamente os endereços físicos dos registros desejados. Isso é possível graças a estruturas como a árvore B (B-tree), que permite buscas binárias eficientes, reduzindo drasticamente o número de operações de leitura em disco.
A razão de ser do índice é justamente o desempenho: sem ele, uma consulta em uma tabela com milhões de registros precisaria avaliar cada linha individualmente, o que é extremamente lento e custoso em termos de I/O. Com o índice, o SGBD pode pular diretamente para os blocos de dados relevantes. Por isso, a otimização de consultas (tuning) frequentemente envolve a criação e o ajuste de índices, alinhando-os às condições de filtro (WHERE) e ordenação (ORDER BY) das consultas mais frequentes.
No entanto, é fundamental entender que o índice não é uma solução mágica e gratuita. Ele tem custos: ocupa espaço em disco, precisa ser mantido (atualizado) a cada operação de escrita (INSERT, UPDATE, DELETE) e, em alguns casos, pode até piorar o desempenho de consultas que retornam uma grande porção da tabela. Esses trade-offs são o que a banca explora em questões mais avançadas, mas a função essencial e primária permanece a otimização de leitura.
A pegadinha desta questão é justamente a simplicidade: ela cobra o conceito fundamental, e as alternativas incorretas apresentam efeitos colaterais ou consequências negativas do uso de índices como se fossem sua função principal. A banca quer que o candidato distinga a finalidade (melhorar consultas) dos efeitos adversos (aumento de armazenamento, piora em escritas) e de conceitos totalmente alheios (diminuir integridade, reduzir segurança).
Guarde o critério: função = otimizar leitura/consulta; os demais efeitos são consequências ou distratores. É com essa régua que vamos analisar cada alternativa.
Alternativa A — ✅ Correta ⟵ GABARITO
Esta é a definição canônica. O índice é uma estrutura de acesso auxiliar criada para agilizar a recuperação de registros, ou seja, melhorar o desempenho das consultas (SELECT). Ele evita a varredura sequencial completa da tabela, permitindo que o SGBD encontre os dados de forma muito mais rápida, especialmente em tabelas com grande volume de registros. É o objetivo central do tuning de banco de dados.
Alternativa B — ❌ Incorreta
Afirma que o índice diminui a integridade dos dados. Isso é um equívoco completo: a integridade dos dados é garantida por restrições de integridade (como chaves primárias, estrangeiras, checks e unique), e não por índices. Na verdade, um índice pode até ajudar a manter a integridade, como no caso de um índice único que impede valores duplicados em uma coluna. O índice não tem relação com a diminuição da integridade.
Alternativa C — ❌ Incorreta
Diz que o índice facilita a exclusão de registros. Na prática, ocorre o oposto: índices dificultam e tornam mais lenta a exclusão (e também a inserção e atualização), pois, a cada operação de escrita, o SGBD precisa atualizar o índice, o que adiciona custo de processamento e I/O. A exclusão de registros é uma operação de escrita, e o índice é um custo adicional nesse cenário.
Alternativa D — ❌ Incorreta
Afirma que o índice aumenta o custo de armazenamento. Isso é verdade, mas não é a função do índice — é uma desvantagem ou efeito colateral. O índice ocupa espaço em disco e memória, pois é uma estrutura adicional que armazena as chaves e ponteiros. A banca usa essa consequência real como distrator, mas a pergunta é sobre a função, não sobre os custos.
Alternativa E — ❌ Incorreta
Diz que o índice reduz a segurança dos dados. Isso não tem fundamento. A segurança dos dados é tratada por mecanismos de controle de acesso, autenticação e autorização (como usuários, roles e privilégios), e não por índices. O índice é uma estrutura de desempenho e não interfere na segurança lógica do banco.
NÃO CAIA NESSA!
A banca mistura a função do índice (melhorar consultas) com seus efeitos colaterais (aumentar armazenamento, piorar escritas) e com conceitos de outras áreas (integridade, segurança). A alternativa D é a mais traiçoeira, pois apresenta uma consequência real, mas que não responde à pergunta sobre a finalidade. Lembre-se: a pergunta é "a função do índice é", e não "qual é uma consequência do uso de índices".
PEGA ESSA DICA!
Para questões sobre índices, separe mentalmente três grupos: (1) função — acelerar consultas/leituras; (2) custos/desvantagens — ocupar espaço, piorar escritas, exigir manutenção; (3) conceitos vizinhos — integridade (restrições), segurança (controle de acesso), normalização (formas normais). Se a alternativa falar de algo que não seja acelerar leitura, desconfie imediatamente.