Pular para o conteúdo principal

Questão de Arquitetura de Software — Banco de Dados — FCC 2023

Arquitetura de SoftwareBanco de Dados
Código
fc069695
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Durante a sessão atual, um Analista deseja alterar o tamanho do buffer de pool InnoDB no servidor MySQL para 5 gigabytes, para otimizar o desempenho do MySQL, reduzindo a necessidade de acessar o disco para buscar dados frequentemente usados. Para isso, ele deve utilizar o comando
  1. ASET CONFIG DB_CACHE_SIZE = 56;
  2. BSET GLOBAL BUFFER_POOL_SIZE = '5GB';
  3. CEXEC sp_configure 'max server memory', 5120;
  4. DSET shared_buffers = '5GB';
  5. ESET global InnoDB_buffer_pool_size = 5368709120;
Revelar gabarito e comentário

GabaritoE — SET global InnoDB_buffer_pool_size = 5368709120;

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

Configuração do buffer pool InnoDB no MySQL

Gabarito: letra E. A sintaxe correta no MySQL para alterar dinamicamente o tamanho do buffer pool InnoDB é SET GLOBAL innodb_buffer_pool_size = 5368709120;, onde o valor é expresso em bytes. 5 GB = 5 × 1024³ = 5368709120 bytes. As demais alternativas pertencem a outros bancos de dados ou possuem sintaxe incorreta.

Alternativa A — ❌ Incorreta

O comando SET CONFIG DB_CACHE_SIZE = 56; não é válido no MySQL. DB_CACHE_SIZE é um parâmetro do Oracle Database, e o valor 56 (sem unidade) não representa 5 GB. A sintaxe correta no MySQL utiliza SET GLOBAL seguido da variável innodb_buffer_pool_size.

Alternativa B — ❌ Incorreta

Embora SET GLOBAL seja a estrutura correta, a variável deve ser innodb_buffer_pool_size, não BUFFER_POOL_SIZE. Além disso, o valor não pode ser passado como string '5GB'; deve ser um número em bytes. A banca explora a confusão com o nome genérico "buffer pool".

Alternativa C — ❌ Incorreta

EXEC sp_configure 'max server memory', 5120; é um comando do Microsoft SQL Server para configurar a memória máxima do servidor, não do MySQL. O parâmetro max server memory é específico do SQL Server, e o valor 5120 está em MB (equivalente a 5 GB se considerarmos 5120 MB = 5 GB), mas o SGBD é diferente.

Alternativa D — ❌ Incorreta

SET shared_buffers = '5GB'; é a sintaxe do PostgreSQL para ajustar o shared_buffers, não o buffer pool InnoDB do MySQL. Além disso, no PostgreSQL aceita-se unidade 'GB' como string, mas o comando e a variável não se aplicam ao MySQL.

Alternativa E — ✅ Correta ⟵ GABARITO

A sintaxe SET global InnoDB_buffer_pool_size = 5368709120; está exatamente de acordo com a documentação do MySQL. O valor 5368709120 corresponde a 5 GB (5 × 1024³). A variável pode ser escrita em qualquer combinação de maiúsculas/minúsculas (case-insensitive) e o valor deve ser um inteiro representando bytes.

NÃO CAIA NESSA!

A banca misturou comandos de três SGBDs diferentes (Oracle, SQL Server, PostgreSQL) com o MySQL. Candidatos desatentos podem escolher a alternativa B por conter "BUFFER_POOL_SIZE", mas o nome correto da variável MySQL é innodb_buffer_pool_size. Além disso, o valor deve ser em bytes, não como string com unidade.

Gabarito: letra E.

Link permanente: /questoes/fc069695