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: [email protected] [mailto:[email protected]] Em nome de Beto Lima Enviada em: segunda-feira, 15 de novembro de 2010 17:45 Para: [email protected] 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 [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
