Re: Table maintenance: order of operations important?
От | Tom Lane |
---|---|
Тема | Re: Table maintenance: order of operations important? |
Дата | |
Msg-id | 3030.1085075532@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Table maintenance: order of operations important? (Jeff Boes <mur@qtm.net>) |
Ответы |
Re: Table maintenance: order of operations important?
|
Список | pgsql-admin |
Jeff Boes <mur@qtm.net> writes: > DELETE FROM foo WHERE date_expires < now(); > VACUUM ANALYZE foo; > CLUSTER foo; > REINDEX TABLE foo; > How would you choose to order these (under 7.4.x) for fastest > turn-around? Does it matter? If you are going to CLUSTER then the VACUUM and the REINDEX are both utterly redundant. The ANALYZE is still useful but should be done after CLUSTER since its physical-order-correlation stats will be quite wrong if done beforehand. In other words there is only one sane way to do this and it is DELETE FROM foo WHERE date_expires < now(); CLUSTER foo; ANALYZE foo; You could possibly make a case for DELETE FROM foo WHERE date_expires < now(); CLUSTER foo; VACUUM ANALYZE foo; The VACUUM won't do anything useful in terms of reclaiming space (there being none to reclaim just after a CLUSTER) but it would ensure that all rows in the table are marked as committed-good, rather than leaving that work to be done by the first transaction that happens to hit each row. regards, tom lane
В списке pgsql-admin по дате отправления: