Search Postgresql Archives

Re: query is taking longer time after a while

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/9/29 Sam Mason <sam@xxxxxxxxxxxxx>:
> On Tue, Sep 29, 2009 at 02:25:52PM +0200, Brian Modra wrote:
>> 2009/9/29 tomrevam <tomer@xxxxxxxxx>:
>> > My DB is auto-vacuuming all the time. The specific table I'm talking about
>> > gets vacuumed at least every 2 hours (usually a little more frequently than
>> > that).
>> > Deletes are happening on the table at about the same rate as inserts (there
>> > are also some updates).
>>
>> The index quite likely is in a poor state.
>
> Really? Plain vacuum should allow things to reach a steady state after
> a while, doing a large delete will put things out of kilter, but that
> doesn't sound to be the case here.  Vacuum full can also cause things to
> go amiss, but if it's just regular vacuums then things should be OK.

If there are a lot of deletes, then likely the index parameters are
not the best.

ANALYSE yourtable;

Then, reindex (or create new index followed by drop index and rename -
if you want to leave the index online.

> What do you get out of vacuum analyse verbose? for this table?
>
>> You could try this:
>>
>> analyse ....
>> create index ... (same parameters as existing index)
>> delete the old index.
>> rename the new index to the same name as the old one
>> repeat this for all indexes.
>
> Why not just do:
>
>  REINDEX TABLE yourbigtable;
>
> No need to worry about rebuilding foreign key constraints or anything
> like that then.

Thats OK if the table can be taken offline. REINDEX locks the index
while in progress.

>
> --
>  Sam  http://samason.me.uk/
>
> --
> Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>



-- 
Brian Modra   Land line: +27 23 5411 462
Mobile: +27 79 69 77 082
5 Jan Louw Str, Prince Albert, 6930
Postal: P.O. Box 2, Prince Albert 6930
South Africa
http://www.zwartberg.com/

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux