FC ConcursosFC Concursos

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:

  1. a implementação do particionamento da tabela TESTE pelo critério conhecido como List;
  2. a implementação do particionamento da tabela TESTE_X pelo critério conhecido como Range Partitioning;
  3. a criação de uma tabela virtual, somente leitura, segundo o conceito de Table View, similarmente ao emprego das views derivadas de consultas SQL;
  4. 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;
  5. 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

Continue aprendendo