Re: Delete query takes exorbitant amount of time
От | Christopher Kings-Lynne |
---|---|
Тема | Re: Delete query takes exorbitant amount of time |
Дата | |
Msg-id | 42438763.1090101@familyhealth.com.au обсуждение исходный текст |
Ответ на | Re: Delete query takes exorbitant amount of time (Mark Lewis <mark.lewis@mir3.com>) |
Список | pgsql-performance |
Watch your pg_stats_* views before and after the delete and check what related tables have had lots of seqscans. Chris Mark Lewis wrote: > Tom, > > I've got a similar problem with deletes taking a very long time. I know > that there are lots of foreign keys referencing this table, and other > foreign keys referencing those tables, etc. I've been curious, is there > a way to find out how long the foreign key checks take for each > dependent table? > > -- Mark Lewis > > On Thu, 2005-03-24 at 16:52, Tom Lane wrote: > >>Karim Nassar <Karim.Nassar@acm.org> writes: >> >>>Here is the statement: >> >>>orfs=# explain analyze DELETE FROM int_sensor_meas_type WHERE >>>id_meas_type IN (SELECT * FROM meas_type_ids); >>> QUERY PLAN >>>----------------------------------------------------------------------------------------------------------------------------- >>> Hash Join (cost=11.53..42.06 rows=200 width=6) (actual >>>time=1.564..2.840 rows=552 loops=1) >>>... >>> Total runtime: 2499616.216 ms >>>(7 rows) >> >>Notice that the actual join is taking 2.8 ms. The other ~40 minutes is >>in operations that we cannot see in this plan, but we can surmise are ON >>DELETE triggers. >> >> >>>Where do I go from here? >> >>Look at what your triggers are doing. My private bet is that you have >>unindexed foreign keys referencing this table, and so each deletion >>forces a seqscan of some other, evidently very large, table(s). >> >> regards, tom lane >> >>---------------------------(end of broadcast)--------------------------- >>TIP 7: don't forget to increase your free space map settings > > > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match
В списке pgsql-performance по дате отправления: