Questão de Banco de Dados — MySQL — Quadrix 2024
- Código
- qg347502
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Administrativo - Suporte Técnico em Informática
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. A afirmação está incorreta porque o parâmetro innodb_file_per_table não tem relação com a velocidade de leitura nem elimina as atualizações das estatísticas InnoDB; ele apenas controla onde as tabelas InnoDB são armazenadas (arquivo próprio por tabela ou tablespace compartilhado). A atualização das estatísticas continua ocorrendo normalmente, independentemente desse parâmetro.
O innodb_file_per_table é uma configuração do MySQL que define se cada tabela InnoDB terá seu próprio arquivo de tablespace (arquivo .ibd) ou se todas as tabelas compartilham um tablespace geral. Quando ativado (ON), cada tabela é armazenada em um arquivo separado, o que facilita operações como DROP TABLE e TRUNCATE TABLE (liberam espaço no sistema de arquivos) e permite otimizações específicas por tabela. No entanto, isso não acelera a leitura dos dados nem impede que o InnoDB atualize suas estatísticas internas.
As estatísticas InnoDB são atualizadas automaticamente pelo mecanismo de armazenamento para auxiliar o otimizador de consultas a escolher os melhores planos de execução. Elas são recalculadas em momentos como a primeira abertura da tabela, após alterações significativas nos dados ou quando o comando ANALYZE TABLE é executado. O parâmetro innodb_file_per_table não interfere nesse processo.
Na prática, a velocidade de leitura é influenciada por fatores como índices, cache do buffer pool, configuração de I/O e estrutura das consultas, não pela organização física dos arquivos de tablespace. Portanto, a justificativa apresentada na assertiva é equivocada: não há melhora de velocidade de leitura por causa desse parâmetro, e as estatísticas continuam sendo atualizadas.
A banca explora aqui uma confusão comum: associar a organização física dos arquivos a um ganho de desempenho de leitura e à eliminação de um processo interno do SGBD. O candidato que conhece apenas o nome do parâmetro pode ser induzido a acreditar que ele "otimiza" algo, mas a função real é de armazenamento, não de desempenho de leitura.
A assertiva afirma que definir innodb_file_per_table como ON melhora a velocidade de leitura e elimina as atualizações das estatísticas InnoDB. Isso é falso por dois motivos:
Velocidade de leitura: o parâmetro não influencia diretamente a velocidade de leitura. Ele apenas define se cada tabela terá um arquivo de tablespace próprio. A leitura é otimizada por índices, cache e configuração de I/O, não pela organização dos arquivos.
Estatísticas InnoDB: as estatísticas continuam sendo atualizadas normalmente. O InnoDB as recalcula para o otimizador de consultas, e o parâmetro não desativa esse processo.
Portanto, a justificativa apresentada é incorreta, tornando a assertiva ERRADA.
Gabarito: ERRADO
Link permanente: /questoes/qg347502