Meu caro;

Utilização de índices depende de uma série de fatores:

- Tabelas pequenas não utilizam índices

- Saiba dosar a criação deles nas tabelas sabendo que muitos índices numa
mesma tabela degradam operações de insert, update e delete quando intensas

- Crie índices por campos que são utilizados em cláusula where ou join

- campos nulos não utilizam índices

 

Esta situação que você apresenta eu acho preciptada. Isso é aplicado no
desespero quando nada mais resolve. A princípio, preocupe-se apenas em criar
o índice em cima dos filtros utilizados. Lembre-se também que você já tem um
índice único pelo título, ou seja, se o seu filtro for só pelo título, não
precisa criar outro índice.

Abraço

 

De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Beto Lima
Enviada em: segunda-feira, 15 de novembro de 2010 17:45
Para: pgbr-geral@listas.postgresql.org.br
Assunto: [pgbr-geral] Indice composto

 

Pessoal me digam uma coisa:
Se eu usar indices compostos, posso ter problemas de performance na minha
base?
Ex: tenho uma tabela com os seguintes campos

CREATE TABLE agendas
(
  id_agenda serial NOT NULL,
  titulo character varying(200) NOT NULL,
  descricao text,
  data_inicio_agenda timestamp without time zone NOT NULL,
  data_fim_agenda timestamp without time zone NOT NULL,
  CONSTRAINT agendas_pk PRIMARY KEY (id_agenda),
  CONSTRAINT agendas_titulo_key UNIQUE (titulo),
  CONSTRAINT agendas_check CHECK (data_fim_agenda > data_inicio_agenda)
)

E meu indice:

CREATE INDEX indice_busca
  ON agendas
  USING btree
  (titulo, descricao, data_inicio_agenda, data_fim_agenda);

Tenho um form onde tenho estes campos do indice para fazer busca na tabela.
Ta tudo na boa? ou é campo demais e posso perder performance!!!
valeu

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to