Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FGV 2023

Banco de DadosMySQL
Código
fg072599
Banca
FGV
Órgão
TJ-SE
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Especialidade - Análise de Sistemas - Banco de Dados
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:
  1. Adefinir tamanhos de página menores para todas as tabelas e índices para reduzir a fragmentação;
  2. Butilizar a compactação de tabelas para economizar espaço em disco, independentemente do tipo de dado;
  3. Cutilizar partições para separar dados históricos de dados recentes em tabelas com alta taxa de inserção;
  4. 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;
  5. Eutilizar o mecanismo de armazenamento MyISAM para todas as tabelas, pois ele oferece melhor desempenho em leitura e é compatível com a propriedade ACID.
Revelar gabarito e comentário

GabaritoC — utilizar partições para separar dados históricos de dados recentes em tabelas com alta taxa de inserção;

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”.

Administração de banco de dados MySQL: particionamento e otimização

Gabarito: letra C. Em tabelas com alta taxa de inserção e dados históricos, a partição por faixa (range partitioning) é prática recomendada no MySQL, pois permite otimizar consultas, gerenciar o ciclo de vida dos dados e melhorar o desempenho. As demais alternativas apresentam conceitos equivocados ou inadequados à administração MySQL.

1Por range (data)
Dados recentes
Dados históricos
2Vantagens
Manutenção (DROP PARTITION)
Consultas mais rápidas
Otimização de espaço
3Cenário ideal
Alta taxa de inserção
Grandes volumes
Particionamento MySQL
LEVELsoulevel.com.br
Particionamento MySQL: Por range (data) (Dados recentes, Dados históricos); Vantagens (Manutenção (DROP PARTITION), Consultas mais rápidas, Otimização de espaço); Cenário ideal (Alta taxa de inserção, Grandes volumes)

Alternativa A — ❌ Incorreta

Tamanhos de página menores (ex.: 8KB em vez de 16KB) não são recomendados universalmente; a escolha depende do workload. Reduzir o tamanho da página pode até aumentar a fragmentação em vez de reduzi-la, além de impactar o desempenho de leituras sequenciais.

Alternativa B — ❌ Incorreta

A compactação (compression) não deve ser aplicada independentemente do tipo de dado. Embora o MySQL ofereça compressão de páginas InnoDB, alguns dados (ex.: números aleatórios) podem não comprimir bem e ainda gerar overhead de CPU. A afirmativa é muito absoluta para ser uma recomendação genérica.

Alternativa C — ✅ Correta ⟵ GABARITO

O particionamento por range (ex.: por data) é uma técnica consolidada para separar dados recentes de históricos. Isso facilita manutenções (DROP PARTITION), acelera consultas em grandes tabelas com alta inserção e otimiza a alocação de espaço. É uma recomendação oficial do MySQL para cenários de grandes volumes.

Alternativa D — ❌ Incorreta

No MySQL (InnoDB), índices e dados são armazenados juntos no mesmo tablespace (exceto com file-per-table, mas ainda num único arquivo). Não é possível separar fisicamente índices em SSD e dados em HDD por meio de configuração padrão. Qualquer tentativa exigiria truques de sistema operacional, não sendo uma prática recomendada de administração.

Alternativa E — ❌ Incorreta

O MyISAM não é compatível com transações (ACID), pois não suporta COMMIT/ROLLBACK nem foreign keys. InnoDB é o mecanismo padrão e recomendado, oferecendo melhor desempenho geral em ambientes transacionais. MyISAM pode ser mais rápido em leituras, mas sacrifica a integridade e a concorrência.

Gabarito: letra C.

Link permanente: /questoes/fg072599