Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id E4FD79FA376 for ; Tue, 31 Oct 2006 19:55:09 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 80062-03 for ; Tue, 31 Oct 2006 23:55:09 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey- Received: from exprod6og50.obsmtp.com (exprod6og50.obsmtp.com [64.18.1.181]) by postgresql.org (Postfix) with SMTP id 90E369FA344 for ; Tue, 31 Oct 2006 19:55:08 -0400 (AST) Received: from source ([63.240.6.46]) by exprod6ob50.postini.com ([64.18.5.12]) with SMTP; Tue, 31 Oct 2006 15:55:06 PST Received: from 172.16.1.114 by mail.mi8.com with ESMTP (- Welcome to Mi8 Corporation www.Mi8.com (D2)); Tue, 31 Oct 2006 18:54:55 -0500 X-Server-Uuid: 7829E76E-BB9E-4995-8473-3C0929DF7DD1 Received: from MI8NYCMAIL06.Mi8.com ([172.16.1.175]) by d01smtp07.Mi8.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 31 Oct 2006 18:54:52 -0500 Received: from 69.181.100.71 ([69.181.100.71]) by MI8NYCMAIL06.Mi8.com ( [172.16.1.219]) via Exchange Front-End Server mi8owa.mi8.com ( [172.16.1.105]) with Microsoft Exchange Server HTTP-DAV ; Tue, 31 Oct 2006 23:54:51 +0000 User-Agent: Microsoft-Entourage/11.2.5.060620 Date: Tue, 31 Oct 2006 15:54:50 -0800 Subject: Re: Help w/speeding up range queries? From: "Luke Lonergan" To: "John Major" , pgsql-performance@postgresql.org Message-ID: Thread-Topic: [PERFORM] Help w/speeding up range queries? Thread-Index: Acb9R/O3MnUghGk7EduBWQAWy4o9DA== In-Reply-To: <4547D9CE.2040705@cbio.mskcc.org> MIME-Version: 1.0 X-OriginalArrivalTime: 31 Oct 2006 23:54:52.0953 (UTC) FILETIME=[F5799890:01C6FD47] X-WSS-ID: 69593DC73ZW1278026-01-01 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200610/638 X-Sequence-Number: 21767 John, On 10/31/06 3:18 PM, "John Major" wrote: > Any advice on how I might be able to improve this situation would be > very helpful. I think table partitioning is exactly what you need. There's a basic capability in current Postgres to divide tables into parent + children, each of which have a constraint for the rows inside (in your case chromosome). When you query the parent, the planner will exclude child tables outside of the predicate range. - Luke