No sistema gerenciador de bancos de dados PostgreSQL (v. ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - desabilitar o autocommit e executar apenas um commit ao final das inserções de registros.
Ao trabalhar com a inserção de uma grande quantidade de dados em um banco de dados, como o PostgreSQL, existem diversas técnicas de otimização para melhorar o desempenho. O PostgreSQL, por padrão, utiliza o autocommit, o que significa que cada operação SQL é tratada como uma transação separada e é imediatamente commitada após sua execução. Isto pode ser ineficiente quando estamos inserindo muitos registros pois cada commit implica em uma escrita no disco, o que é uma operação custosa.
Desabilitar o autocommit significa que várias operações SQL podem ser agrupadas em uma única transação. Dessa forma, você pode inserir muitos registros em uma única transação e então, executar um commit ao final. Isso reduz o número de escritas no disco porque o estado da transação é atualizado apenas uma vez, ao invés de após cada inserção individual. É importante notar que, enquanto o autocommit estiver desabilitado, se ocorrer algum erro antes do commit final, todas as alterações não salvas serão perdidas. Porém, o ganho de desempenho pode ser significativo, especialmente com a inserção de grandes volumes de dados.
As demais alternativas são incorretas porque:
- A: Criar uma nova tabela com o mesmo nome não é prático nem eficiente já que envolve manipulação de metadados e não oferece uma melhoria direta no desempenho de inserção.
- B: Criptografar registros não tem a ver com melhoria de desempenho de inserção de dados, na verdade, pode até degradar a performance devido ao custo adicional de processamento da criptografia.
- D: Executar um commit após cada inserção de registro é o que acontece com o autocommit ativado e é exatamente o que queremos evitar para melhorar o desempenho.
- E: Realizar backup após cada inserção é uma prática que não contribui para melhorar o desempenho e pode, de fato, piorá-lo consideravelmente.
Assim, para a otimização ou tuning do desempenho no PostgreSQL durante a inserção de uma grande quantidade de registros, é mais eficiente seguir a estratégia de desabilitar o autocommit e realizar um único commit ao final das inserções, conforme indicado na alternativa correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito: C.
O enunciado menciona "grande quantidade de registros". Se fosse feito um commit para cada inserção de registro (autocommit), o desempenho geral do processo seria reduzido.
Ao se desabilitar essa função e "executar apenas um commit ao final das inserções de registros", isso seria "uma forma de melhorar o desempenho (tuning)".
Nem precisa conhecer PostgreSQL para realizar essa questão.
Para desativar o Autocommit a nível de sessão e fazer com que seja necessário executar o COMMIT ou ROLLBACK ao final dos seus comandos para que eles sejam realmente aplicados no banco
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo