pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: James Mansion <james@mansionfamily.plus.com>
To: Mark Mielke <mark@mark.mielke.cc>
Cc: matthew@flymine.org
Cc: pgsql-performance@postgresql.org
Subject: Re: RAID arrays and performance
Date: Tue, 04 Dec 2007 20:14:22 +0000
Message-ID: <4755B51E.5040503@mansionfamily.plus.com> (raw)
In-Reply-To: <47557B12.5040809@mark.mielke.cc>
References: <Pine.LNX.4.58.0712041213490.3731@aragorn.flymine.org>
	<87lk8aiqf3.fsf@oxford.xeocode.com>
	<Pine.LNX.4.58.0712041247540.3731@aragorn.flymine.org>
	<475559F4.7060104@mark.mielke.cc>
	<Pine.LNX.4.58.0712041349380.3731@aragorn.flymine.org>
	<4755648C.90905@mark.mielke.cc>
	<87fxyiik94.fsf@oxford.xeocode.com>
	<Pine.LNX.4.58.0712041522320.3731@aragorn.flymine.org>
	<47557519.6090506@mark.mielke.cc>
	<47557872.1000105@mansionfamily.plus.com>
	<47557B12.5040809@mark.mielke.cc>

Mark Mielke wrote:
> At a minimum, this breaks your query into: 1) Preload all the index 
> pages you will need
Isn't this fairly predictable - the planner has chosen the index so it 
will be operating
on a bounded subset.
> , 2) Scan the index pages you needed
Yes, and AIO helps when you can scan them in arbitrary order, as they 
are returned.
> , 3) Preload all the table page you will need
No - just request that they load.  You can do work as soon as any page 
is returned.
> , 4) Scan the table pages you needed.
In the order that is most naturally returned by the disks.

> But do you really need the whole index? 
I don't think I suggested that.
> What if you only need parts of the index, and this plan now reads the 
> whole index using async I/O "just in case" it is useful?
Where did you get that from?
> index scan into a regular B-Tree scan, which is difficult to perform 
> async I/O for, as you don't necessarily know which pages to read next.
>
Most B-trees are not so deep.  It would generally be a win to retain 
interior nodes of indices in
shared memory, even if leaf pages are not present.  In such a case, it 
is quite quick to establish
which leaf pages must be demand loaded.

I'm not suggesting that Postgres indices are structured in a way that 
would support this sort
of thing now.

James




view thread (39+ messages)  latest in thread

Message-ID: <4755B51E.5040503@mansionfamily.plus.com>
Permalink:  ../4755B51E.5040503@mansionfamily.plus.com/
Also on:    postgresql.org/message-id/4755B51E.5040503@mansionfamily.plus.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: james@mansionfamily.plus.com, mark@mark.mielke.cc, matthew@flymine.org
  Subject: Re: RAID arrays and performance
  In-Reply-To: <4755B51E.5040503@mansionfamily.plus.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox