> Please describe your customer table better.
CREATE TABLE "customer" (
"custid" int4 NOT NULL,
"lname" text DEFAULT '',
"fname" text DEFAULT '',
"email" text,
"offersubscribed" character DEFAULT '1',
"addr1" text DEFAULT '',
"addr2" text DEFAULT '',
"city" text DEFAULT '',
"state" text DEFAULT '',
"zip" text DEFAULT '',
"country" text DEFAULT '',
"phone" text DEFAULT '',
"fax" text DEFAULT '',
"firstcontactdate" date DEFAULT date(now()),
"note" text DEFAULT '',
"deliverable" character DEFAULT '1',
"mastersubscribed" character DEFAULT '1',
"url" text DEFAULT '',
"company" text DEFAULT '',
"title" text DEFAULT '',
"poregdate" date,
"bouncecount" int4,
"bouncedate" date
);
CREATE INDEX "icusln" on "customer" using btree ( "lname" "text_ops" );
CREATE UNIQUE INDEX "icusem2" on "customer" using btree ( "email"
"text_ops" );
CREATE INDEX "icusph" on "customer" using btree ( "phone" "text_ops" );
CREATE UNIQUE INDEX "icusid" on "customer" using btree ( "custid"
"int4_ops" );
> One thing I found was that postgresql (and just about any other
> database) is excrutiatingly slow on update/insert if you made too
> many indecies on the table being updated.
>
> how many indecies do you have on this table?
4, I could probably get by with just 2 If I had to. I will give it a try.
> you may want to try a combined index on both bouncedate and email.
Why, Email is a unique index and the explain says it is using it.