Re: Slow select performance despite seemingly reasonable query plan

From: Scott Mead <scott(dot)lists(at)enterprisedb(dot)com>
To: David Brain <dbrain(at)bandwidth(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Slow select performance despite seemingly reasonable query plan
Date: 2009-05-07 14:26:26
Message-ID: d3ab2ec80905070726w6173e495h4486cc96c8dda8d4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Thu, May 7, 2009 at 10:14 AM, David Brain <dbrain(at)bandwidth(dot)com> wrote:

> Hi,
>
> Some context, we have a _lot_ of data, > 1TB, mostly in 1 'table' -
> the 'datatable' in the example below although in order to improve
> performance this table is partitioned (by date range) into a number of
> partition tables. Each partition contains up to 20GB of data (tens of
> millons of rows), with an additional ~3GB of indexes, all this is
> served off a fairly high performance server (8 core 32Gb, with FC
> attached SAN storage). PostgreSQL version is 8.3.5 (running on 64bit
> RHEL 5.2)
>
> This has been working reasonably well, however in the last few days
> I've been seeing extremely slow performance on what are essentially
> fairly simple 'index hitting' selects on this data.

Have you re-indexed any of your partitioned tables? If you're index is
fragmented, you'll be incurring extra I/O's per index access. Take a look
at the pgstattuple contrib for some functions to determine index
fragmentation. You can also take a look at the pg_stat_all_indexes tables.
If your number of tup's fetched is 100 x more than your idx_scans, you *may*
consider reindexing.

--Scott

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message David Brain 2009-05-07 14:48:49 Re: Slow select performance despite seemingly reasonable query plan
Previous Message David Brain 2009-05-07 14:14:27 Slow select performance despite seemingly reasonable query plan