Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FCC 2024

Banco de DadosPostgreSQL
Código
fc071908
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Dentre as técnicas para otimizar o desempenho de consultas que envolvem a análise de grandes volumes de dados geográficos no PostgreSQL 13, uma Analista está estudando aquela que é a mais adequada, recomendando:
  1. Autilizar a extensão PostGIS, para todas as operações espaciais.
  2. Butilizar índices B-tree em colunas de tipo geométrico.
  3. Cfragmentar tabelas geográficas, com base em atributos espaciais.
  4. Dcriar materialized views, para pré-calcular resultados de consultas espaciais.
  5. Ecriar índices GIST em colunas de tipo geométrico.
Revelar gabarito e comentário

GabaritoE — criar índices GIST em colunas de tipo geométrico.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PostgreSQL: Otimização de Consultas Geoespaciais

Gabarito: letra E. A técnica mais adequada para otimizar consultas sobre grandes volumes de dados geográficos no PostgreSQL 13 é criar índices GiST (Generalized Search Tree) em colunas de tipo geométrico. Esses índices são especialmente projetados para dados espaciais, permitindo buscas eficientes por proximidade, sobreposição, contém, etc. A extensão PostGIS depende desses índices para ter bom desempenho.

A banca testa o conhecimento sobre indexação geográfica no PostgreSQL, um tópico central para quem trabalha com dados espaciais.

Alternativa A — ❌ Incorreta

Utilizar a extensão PostGIS é indispensável para operações espaciais, mas não é uma "técnica de otimização" isolada — é um pré-requisito. A questão pede especificamente a técnica de otimização, e o PostGIS fornece funções e tipos, mas o ganho real de performance vem dos índices GiST sobre esses tipos.

Alternativa B — ❌ Incorreta

Índices B-tree são adequados para dados ordinais (números, textos ordenáveis), mas não servem para tipos geométricos (geometry/geography). O PostgreSQL não permite criar índices B-tree diretamente em colunas desses tipos, pois a comparação de ordenação não faz sentido para geometrias. O índice correto é o GiST.

Alternativa C — ❌ Incorreta

Fragmentar tabelas geográficas com base em atributos espaciais (particionamento) pode ajudar em alguns cenários, mas não é a técnica mais direta e nem a mais recomendada para consultas espaciais. O particionamento não acelera intrinsecamente operações como ST_Contains ou ST_Distance; quem faz isso é a indexação GiST.

Alternativa D — ❌ Incorreta

Materialized views pré-calculam resultados, o que pode acelerar consultas repetitivas, mas não são específicas para dados geográficos. Além disso, exigem manutenção e não substituem a indexação espacial — a consulta original ainda pode precisar de índices para ser eficiente.

Alternativa E — ✅ Correta ⟵ GABARITO

Criar índices GiST em colunas do tipo geométrico (geometry/geography) é a técnica padrão e mais eficaz para otimizar consultas espaciais no PostgreSQL. O GiST permite busca por relacionamentos espaciais (contém, intersecta, distancia etc.) com complexidade logarítmica, utilizando estruturas como R-tree. É o que o PostGIS recomenda e implementa.

NÃO CAIA NESSA!

A confusão mais comum é achar que qualquer índice serve. O B-tree (alternativa B) é o curinga das indexações, mas não funciona para geometrias. O candidato precisa lembrar que o índice nativo para dados espaciais no PostgreSQL é o GiST, e não o B-tree, GIN ou BRIN. Memorize: geometria → GiST.

Gabarito: letra E.

Link permanente: /questoes/fc071908