"carter ck" <[EMAIL PROTECTED]> 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      <[EMAIL PROTECTED]>

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to