I was wondering if there is any way to speed up deletes on this table (see details below)? I am running few of these deletes (could become many more) inside a transaction and each one takes allmost a second to complete.
Is it because of the foreign key constraint, or is it something else?


                                     Table "public.contacts"
Column | Type | Modifiers -------------+------------------------ +---------------------------------------------------------- id | integer | not null default nextval ('public.contacts_id_seq'::text)
record      | integer                |
type        | integer                |
value       | character varying(128) |
description | character varying(255) |
priority    | integer                |
itescotype  | integer                |
original    | integer                |
    "contacts_pkey" PRIMARY KEY, btree (id)
    "contacts_record_idx" btree (record)
Foreign-key constraints:
"contacts_original_fkey" FOREIGN KEY (original) REFERENCES contacts(id)

dev=# select count(id) from contacts;
(1 row)

dev=# explain analyze DELETE FROM contacts WHERE id = 985458;
                                                       QUERY PLAN
------------------------------------------------------------------------ ------------------------------------------------ Index Scan using contacts_pkey on contacts (cost=0.00..3.01 rows=1 width=6) (actual time=0.043..0.049 rows=1 loops=1)
   Index Cond: (id = 985458)
Total runtime: 840.481 ms
(3 rows)

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to