No sistema gerenciador de banco de dados PostgreSQL, versão ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D
O comando TRUNCATE
no PostgreSQL é uma operação utilizada para remover rapidamente todos os registros de uma tabela. Essa operação é diferente do comando DELETE
não qualificado, que também remove todas as linhas de uma tabela, mas de uma maneira mais lenta.
A seguir, vamos justificar cada alternativa:
D - tem o mesmo efeito que um DELETE não qualificado em cada tabela; mas, como não examina efetivamente as tabelas, é mais rápido.
Essa é a alternativa correta. O comando TRUNCATE
é significativamente mais rápido do que um DELETE
não qualificado porque ele não individualiza a remoção de cada linha. Em vez disso, o TRUNCATE
reconfigura a tabela de modo que pareça vazia, sem a necessidade de operações de remoção linha por linha.
Agora, vamos analisar por que as outras alternativas estão incorretas:
A - aciona triggers do tipo ON DELETE, caso existam, para a(s) tabela(s) truncada(s).
O comando TRUNCATE
não aciona triggers ON DELETE
. Triggers são chamadas automáticas de procedimentos armazenados que ocorrem em resposta a eventos no banco de dados. Como TRUNCATE
não é tecnicamente uma operação de remoção linha por linha, triggers ON DELETE
não são executadas.
B - reinicia, automaticamente, colunas do tipo sequências (sequences) da(s) tabela(s) truncada(s), por padrão.
Por padrão, o comando TRUNCATE
não reinicia as sequências associadas às tabelas truncadas. Para isso, seria necessário usar a opção RESTART IDENTITY
junto com o TRUNCATE
para reiniciar as sequências.
C - não recupera, imediatamente, o espaço em disco, exigindo a execução do comando VACUUM posteriormente.
Esta alternativa está incorreta pois o comando TRUNCATE
recupera imediatamente o espaço em disco ocupado pelas tabelas truncadas. Não há necessidade de executar o comando VACUUM
posteriormente para liberar o espaço em disco.
Espero que esta explicação tenha esclarecido suas dúvidas sobre o comando TRUNCATE
no PostgreSQL. Qualquer outra questão ou ponto que precise de mais detalhes, estou à disposição para ajudar!
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
letra D
pode ser dizer que o truncate é a mesma coisa que um delete from table, porem ele não vai fazer qualquer validação quanto a integridade e etc ou examinação na tabela, diferente do comando anterior
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo