:
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