Questão FC369611
No contexto do PostgreSQL, analise o comando SQL a seguir. CREATE TABLE TESTE_X PARTITION OF TESTE FOR VALUES IN ('SP', 'RJ'); Esse comando tem por finalidade:
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
No contexto do PostgreSQL, analise o comando SQL a seguir.
CREATE TABLE TESTE_X PARTITION OF TESTE
FOR VALUES IN ('SP', 'RJ');
Esse comando tem por finalidade:
- a implementação do particionamento da tabela TESTE pelo critério conhecido como List;
- a implementação do particionamento da tabela TESTE_X pelo critério conhecido como Range Partitioning;
- a criação de uma tabela virtual, somente leitura, segundo o conceito de Table View, similarmente ao emprego das views derivadas de consultas SQL;
- a implementação de particionamentos de índices clusterizados (Clusterized indexes), usados para otimização de consultas sobre tabelas baseadas em intervalos de chaves de acesso;
- a definição de uma nova tabela, TESTE_X, somente leitura, cuja estrutura é copiada da tabela TESTE e é instanciada inicialmente com todas as linhas cujos valores das chaves primárias são iguais a “SP” ou “RJ”.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O comando cria uma partição da tabela pai TESTE chamada TESTE_X usando o particionamento do tipo List. A cláusula PARTITION OF indica que TESTE_X é uma sub-tabela da tabela particionada, e FOR VALUES IN ('SP','RJ') define explicitamente os valores que pertencem a essa partição.
Na prática, todas as linhas da tabela pai cujo valor da coluna de particionamento for 'SP' ou 'RJ' serão armazenadas em TESTE_X. O PostgreSQL usa essa informação para realizar partition pruning, evitando varreduras desnecessárias em outras partições durante consultas.
Esse modelo facilita manutenção (por exemplo, remover uma partição com DROP) e operações em lote, além de melhorar desempenho quando consultas se concentram em poucos valores listados.
Conteúdo do catálogo FC Concursos · Atualizado em