Re: Deletes and large tables
От | David Gagnon |
---|---|
Тема | Re: Deletes and large tables |
Дата | |
Msg-id | 42A9B68E.1010101@siunik.com обсуждение исходный текст |
Ответ на | Re: Deletes and large tables (Edmund Dengler <edmundd@eSentire.com>) |
Ответы |
Re: Deletes and large tables
|
Список | pgsql-general |
>This table has 3 foreign keys, but that should not matter during deletes. >In addition, the tables being referred to are small, and should be in >cache. > > I'm talking about FK that point this table... Not FK defined for this table that point to other table. If Table A is referenced by 10 other tables 10 referencial check are needed. >There are no tables depending on it for references, so no dependent >triggers should be running. > >Also, if this was a foreign key issue, I would expect I/O issues/bounds >and not CPU. > > Maybe... I'm honetly not sure. Like I said in my previous mail... I got a similar problem (maybe not the same). It was taking 10 minutes to delete 10k line in a table. I turn on some log info in postgresql.conf and I saw that for each row deleted 4 selects were issued to check FK. I drop those FK and the after the delete was taking less than a second. Hope it help /David >Regards! >Ed > > >On Fri, 10 Jun 2005, Richard Huxton wrote: > > > >>Edmund Dengler wrote: >> >> >>>Greetings! >>> >>>We have a table with more than 250 million rows. I am trying to delete the >>>first 100,000 rows (based on a bigint primary key), and I had to cancel >>>after 4 hours of the system not actually finishing the delete. I wrote a >>>script to delete individual rows 10,000 at a time using transactions, and >>>am finding each individual delete takes on the order of 0.1 seconds to 2-3 >>>seconds. There are 4 indexes on the table, one of which is very "hashlike" >>>(ie, distribution is throught the index for sequential rows). >>> >>> >>I don't suppose it's off checking foreign-keys in a lot of tables is it? >> >>-- >> Richard Huxton >> Archonet Ltd >> >> >> > >---------------------------(end of broadcast)--------------------------- >TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > > >
В списке pgsql-general по дате отправления: