Olá, Em 28 de julho de 2010 15:33, Monica Ferrari Villarino <moni...@stf.jus.br>escreveu:
> Olá! > > > > Será que é possível otimizar a seguinte consulta, executada de hora em hora > no banco: > > > > select count(*) from history; > > > > Essa consulta costuma ter uma duração que varia de 32000.000 ms a > 62262.751 ms conforme o horário em que é executada. > Uma forma de você descobrir é: SELECT reltuples FROM pg_class WHERE relname='history'; Para o resultado preciso o ideal é executar um ANALYZE history antes. > > > A tabela history possui em média *87 milhões* de registros. > > É uma tabela que sofre muito insert/update/delete. > > Faço analyze e reindexação semanalmente. > > > > Estou utilizando postgresql 8.4.4 > > > > A tabela tem a seguinte estrutura e índice: > > > > CREATE TABLE history > > ( > > itemid bigint NOT NULL DEFAULT (0)::bigint, > > clock integer NOT NULL DEFAULT 0, > > "value" numeric(16,4) NOT NULL DEFAULT 0.0000 > > ) > > WITH (OIDS=TRUE); > > > > -- Index: history_1 > > > > CREATE INDEX history_1 ON.history > > USING btree (itemid, clock); > > > > > > *Mônica*** > > > > > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > Atenciosamente -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral