From: | Tom Allison <tom(at)tacocat(dot)net> |
---|---|
To: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | deleting rows with foreign keys |
Date: | 2007-07-11 23:11:16 |
Message-ID: | F2CDAA95-A879-4E2B-8C34-41982151F340@tacocat.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Here's my table:
Table "public.tokens"
Column | Type |
Modifiers
-----------+-----------------------------
+------------------------------------------------------------
token_idx | bigint | not null default nextval
('tokens_token_idx_seq'::regclass)
token | character varying(140) | not null
last_seen | timestamp without time zone | default now()
Indexes:
"tokens_pkey" PRIMARY KEY, btree (token_idx)
"tokens_token_key" UNIQUE, btree (token)
I have ~250K rows in this table.
the token_idx is referenced in two other tables, both of whom have a
foreign key constraint to ON DELETE CASCADE.
Of the other two tables, one has ~1M rows and the other ~350K rows.
So they are both one to many relationships with many of the token
table rows appearing in the other two.
Problem:
Deleting one row can take 2 seconds.
Is there something I can do to improve the speed. Locking the tables
is an option as this is a maintenance procedure and not regular
business. But I don't know that this will be useful or practical.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-07-11 23:24:27 | Re: deleting rows with foreign keys |
Previous Message | Tom Lane | 2007-07-11 22:13:21 | Re: [GENERAL] Count(*) throws error |