:
Olá, sou DBA SR a mais de 15 anos e entendo que você poderia optar por
um índice com os 3 campos e quando precisar da pesquisa pelo campo "C",
utilize like.

Hã? Quê? Não entendi a função do like aqui.
Qual o ganho disso? Explique-nos melhor sua ideia.

Índices locais como uma PK são cravados direto na tabela e actualizados
sempre que houver alteração neste campo, como inclusão.
Índices não locais são ORBITAIS, ou seja, orbitam a tabela como arquivos
menores indicando onde está o registro.

Hã?
No PostgreSQL, todos os índices (inclusive o que cobre a PK) são arquivos separados da tabela.

E em caso de escrita, todos os índices tem de ser modificados, exceto no caso de atualização de uma coluna que não participe de índice e onde haja espaço na mesma página para a atualização, pela funcionalidade HOT (heap-only tuples) introduzida na versão 8.3.

Recomendo ao colega precisa ler um pouco mais de documentação e obter mais experiência.

A questão de *"onde está o registro"*, nada tem a ver com performance, o
que existe é  PLANO DE EXECUÇÃO, que o núcleo do postgres vai utilizar
na hora da pesquisa./

Na verdade são os diversos módulos dos métodos de acesso do PostgreSQL, mas a ideia está correta: o que importa para o desempenho sempre é o plano de execução, que varia conforme a estratégia de índices utilizada.

Ah, por favor, pare com o top-posting.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a