Re: Improve Postgres Query Speed - Mailing list pgsql-general

From Jorge Godoy
Subject Re: Improve Postgres Query Speed
Date
Msg-id 87bqkzkbu6.fsf@gmail.com
Whole thread Raw
In response to Re: Improve Postgres Query Speed  ("carter ck" <carterck32@hotmail.com>)
Responses Re: Improve Postgres Query Speed
List pgsql-general
"carter ck" <carterck32@hotmail.com> writes:

> Hi,
>
> Thanks for reminding me. And the actual number of records is 100,000.
>
> The table is as following:

You forgot the EXPLAIN ANALYZE output...

> Table my_messages
> ----------------------------------------------------------------------------
> midx                  | integer                            | not null default
> nextval('public.my_messages_midx_seq'::text)
> msg_from           | character varying(150)       |
> msg_to               | character varying(150)       |
> msg_content       | text                                 |
> msg_status          | character(1)                     | default 'N'::bpchar
> created_dtm        | timestamp without time zone | not null default now()
> processed_dtm     | timestamp without time zone |
> rpt_generated       | character(1)                | default 'N'::bpchar

Is rpt_generated a boolean column?

> Indexes:
>    "msgstat_pkey" PRIMARY KEY, btree (midx)
>    "my_messages_msgstatus_index" btree (msg_status)

If your query doesn't filter with those indices then you won't gain much with
them...  E.g. "UPDATE my_messages SET rpt_generated='Y' WHERE rpt_generated='N';"
won't use any of those indices and will seq scan the whole table.

--
Jorge Godoy      <jgodoy@gmail.com>

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Improve Postgres Query Speed
Next
From: "Takayuki Tsunakawa"
Date:
Subject: Re: [HACKERS] Checkpoint request failed on version 8.2.1.