quinta-feira, 17 de setembro de 2026 · Edição online
Pingobox
Pingobox

9 tipos de índices de banco: guia técnico

ResumoÍndices de banco de dados são estruturas auxiliares que aceleram consultas de leitura ao custo de espaço em disco e desempenho de escrita. Os nove tipos mais utilizados incluem B-tree, hash, bitmap, GiST, GIN, BRIN, SP-GiST, índice invertido e índice vetorial, cada um adequado a cenários específicos de consulta e volume de dados.

Índices de banco de dados são estruturas auxiliares que reduzem o custo de leitura em troca de espaço e tempo de escrita. Os nove tipos mais usados vão do B-tree ao índice vetorial, cada um com um cenário ideal.

Gustavo Sequeira Gustavo Sequeira · Repórter de inovação
· · 4 min de leitura
9 tipos de índices de banco: guia técnico
Foto: Imagem ilustrativa · Pingobox

Índices de banco de dados são estruturas auxiliares que reduzem o custo de leitura em troca de espaço e tempo de escrita. Os nove tipos mais usados vão do B-tree ao índice vetorial, cada um com um cenário ideal.

Índices de banco de dados são estruturas auxiliares que reduzem o custo de leitura em troca de espaço em disco e tempo de escrita. Os nove tipos mais usados vão do B-tree ao índice vetorial, e a escolha errada transforma um ganho de milissegundos em um problema de armazenamento.

Os principais tipos de índices de banco de dados são B-tree, hash, bitmap, GiST, GIN, BRIN, colunar, invertido e vetorial. Cada um organiza as chaves de forma diferente e serve a um padrão de consulta: igualdade, intervalo, texto, geolocalização ou similaridade vetorial.

1. B-tree

É o índice padrão da maioria dos bancos relacionais, como PostgreSQL e MySQL. Mantém as chaves ordenadas em uma árvore balanceada, o que atende igualdade, intervalo e ordenação na mesma estrutura. O custo aparece na escrita: cada INSERT ou UPDATE reequilibra a árvore. Em tabelas com alto volume de gravação, o ganho de leitura precisa compensar esse overhead.

2. Hash

Armazena o hash da chave e só responde a comparações de igualdade. Não serve para WHERE data > '2024-01-01'. Onde funciona bem: tabelas de sessão ou cache, com chave única e consultas pontuais. O PostgreSQL desaconselha hash para uso geral, mas mantém suporte para casos específicos.

3. Bitmap

Representa cada valor distinto como um vetor de bits. Brilha em colunas de baixa cardinalidade, como status ou UF, especialmente em data warehouses. O problema é a concorrência: um UPDATE bloqueia grandes faixas do bitmap, o que inviabiliza o uso em sistemas transacionais com escrita frequente.

4. GiST (Generalized Search Tree)

Estrutura genérica para dados que não cabem em uma ordenação simples, como geometrias e intervalos. É a base de índices espaciais no PostGIS. Uma consulta do tipo "pontos dentro deste polígono" passa de varredura completa para busca em árvore. Exige extensão específica e operadores compatíveis.

5. GIN (Generalized Inverted Index)

Mapeia cada elemento de um valor composto para as linhas que o contêm. É o índice típico para arrays, JSONB e busca textual no PostgreSQL. Em uma coluna tags com 50 valores possíveis, o GIN evita varrer a tabela inteira. O custo: escrita mais lenta e índice maior que o B-tree equivalente.

6. BRIN (Block Range Index)

Guarda o mínimo e o máximo de cada bloco de páginas, não de cada linha. Ocupa uma fração do espaço de um B-tree. Funciona quando os dados estão fisicamente ordenados, como tabelas de log com timestamp crescente. Se a ordem física se quebra, o BRIN perde eficácia e volta a ler blocos demais.

7. Colunar

Em vez de agrupar por linha, agrupa por coluna. Bancos analíticos como ClickHouse e Amazon Redshift usam esse layout para varrer milhões de registros em uma única coluna sem tocar nas demais. É a escolha para agregações e relatórios, não para transações ponto a ponto.

8. Invertido

O índice invertido associa cada termo a uma lista de documentos que o contêm. É a espinha dorsal de mecanismos de busca como Elasticsearch e Apache Lucene. Suporta relevância, sinônimos e busca por frase. Em bancos relacionais, aparece via extensões de full-text search.

9. Vetorial

Projetado para similaridade entre vetores de alta dimensão, usado em aplicações de IA e busca semântica. Estruturas como HNSW e IVF aproximam o vizinho mais próximo sem comparar todos os vetores. A troca é explícita: recall ligeiramente menor em nome de latência muito menor.

Qual escolher

Comece pelo B-tree, que resolve a maioria dos casos transacionais. Se a coluna tem baixa cardinalidade e o sistema é analítico, avalie bitmap. Para JSONB, arrays ou texto, GIN. Para séries temporais ordenadas fisicamente, BRIN. Busca semântica pede índice vetorial, não B-tree com função de distância. Meça com EXPLAIN ANALYZE antes de criar o próximo índice: cada estrutura adicional encarece toda escrita na tabela.

FAQ

O que é um índice de banco de dados?

É uma estrutura auxiliar que mantém uma cópia ordenada ou mapeada de uma ou mais colunas, permitindo ao banco localizar linhas sem varrer a tabela inteira. O ganho vem às custas de espaço em disco e de tempo extra em cada operação de escrita.

Qual é o tipo de índice mais usado?

O B-tree. É o padrão em PostgreSQL, MySQL, SQL Server e Oracle porque atende igualdade, intervalos e ordenação com bom desempenho geral. Os demais tipos existem para padrões de consulta que o B-tree não cobre bem.

Quando não usar índice?

Em tabelas pequenas, colunas com pouca seletividade ou cargas dominadas por escrita. Um índice em coluna booleana raramente ajuda e ainda pesa em cada INSERT. O planejador pode ignorá-lo de qualquer forma.

Índice hash é melhor que B-tree para igualdade?

Em teoria, o hash tem busca em tempo constante. Na prática, o B-tree entrega desempenho próximo e cobre mais casos, por isso é o padrão. O hash fica restrito a cenários muito específicos de chave única.

O que é índice vetorial?

É uma estrutura que organiza vetores de embedding para permitir busca por similaridade aproximada. Aparece em bancos como pgvector, Milvus e Pinecone, usada em recomendação, busca semântica e aplicações com modelos de linguagem.

Posso ter vários índices na mesma tabela?

Pode, mas cada índice adicional aumenta o custo de escrita e o espaço ocupado. O ideal é criar índices para os padrões de consulta realmente frequentes e revisar periodicamente os que nunca aparecem nos planos de execução.

Compartilhar:
Gustavo Sequeira

Gustavo Sequeira

Repórter de inovação

Repórter de inovação.

Ver todos os artigos →

Leia também

PRF estabelece regras para evitar bloqueios nas eleições de 2026
Apps e Software

PRF estabelece regras para evitar bloqueios nas eleições de 2026

Norma conjunta da PRF e do TSE restringe abordagens a veículos e exige aviso prévio ao TRE para bloqueios em rodovias federais durante as Eleições Gerais de 2026. Primeiro turno será em 4 de outubro.

16 de setembro de 2026 · Paula Andrenni
Busca placa PE: comprar às cegas ou com relatório na mão
Apps e Software

Busca placa PE: comprar às cegas ou com relatório na mão

Quem vai comprar carro usado em Pernambuco pode usar ferramentas digitais para checar débitos, multas e histórico antes de fechar negócio, evitando dor de cabeça depois da transferência.

16 de setembro de 2026 · Redação
Consultar placa online MS: veja dados em poucos minutos
Apps e Software

Consultar placa online MS: veja dados em poucos minutos

Comprar carro usado em MS sem checar a placa é apostar no escuro. Entenda como a consulta digital ajuda antes de fechar negócio.

16 de setembro de 2026 · Redação

Gostou? Receba mais análises

Newsletter quinzenal · curadoria editorial · sem spam