Questão nº 56
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 56)
No contexto de administração de banco de dados MySQL, ao planejar o armazenamento de tabelas e índices, considerando otimizar a alocação de espaço e melhorar o desempenho do sistema, é recomendado:
- Adefinir tamanhos de página menores para todas as tabelas e índices para reduzir a fragmentação;
- Butilizar a compactação de tabelas para economizar espaço em disco, independentemente do tipo de dado;
- Cutilizar partições para separar dados históricos de dados recentes em tabelas com alta taxa de inserção; (alternativa correta)
- Darmazenar todos os índices em um disco (SSD) e as tabelas de dados em um disco rígido tradicional (HDD) para equilibrar o desempenho e o custo;
- Eutilizar o mecanismo de armazenamento MyISAM para todas as tabelas, pois ele oferece melhor desempenho em leitura e é compatível com a propriedade ACID.
Resposta comentada
Gabarito Alternativa C
A otimização de banco de dados MySQL visa organizar e armazenar os dados de forma que o acesso seja rápido e os recursos sejam usados eficientemente, melhorando o desempenho geral do sistema.
(A) Incorreta: Definir tamanhos de página menores para todas as tabelas e índices não é uma recomendação universal para reduzir fragmentação; pode, na verdade, aumentar a sobrecarga de I/O e a fragmentação para certos tipos de dados ou registros maiores.
(B) Incorreta: A compactação de tabelas economiza espaço, mas introduz uma sobrecarga de CPU para compressão/descompressão, o que pode reduzir o desempenho em tabelas com alta taxa de escrita ou acesso frequente, não sendo ideal "independentemente do tipo de dado".
(C) Correta: A partição por tempo (por exemplo, data) é uma estratégia eficaz para tabelas grandes com alta taxa de inserção, pois permite que consultas acessem apenas os dados relevantes (recentes), melhora a manutenção (arquivamento/descarte de dados antigos) e otimiza o desempenho de índices e I/O.
(D) Incorreta: Esta é a armadilha. Embora SSDs sejam mais rápidos para I/O aleatório (comum em índices) e HDDs sejam mais baratos, para o InnoDB (motor padrão do MySQL), dados e índices primários são clusterizados. Armazenar os dados em HDD e os índices em SSD pode não trazer o benefício esperado, pois a leitura final dos dados ainda dependerá do HDD lento, criando um gargalo. Para alta performance, geralmente todo o banco de dados (dados, índices e logs) é colocado em SSDs.
(E) Incorreta: O MyISAM não é compatível com a propriedade ACID (não possui transações, chaves estrangeiras ou recuperação de falhas robusta) e, embora possa ser rápido para algumas leituras simples, o InnoDB geralmente oferece desempenho superior e é o motor recomendado para a maioria das aplicações modernas devido ao seu suporte a transações e concorrência.
Fonte: FGV TJ-SE Servidor 2023 Analista Judiciário - Análise de Sistemas - Banco de Dados (Caderno Tipo 1). Reproduzida para fins de estudo.