Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 9A61A2E0065 for ; Wed, 26 Mar 2008 13:21:49 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 86036-06 for ; Wed, 26 Mar 2008 13:21:46 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 Received: from h07.llord.com (unknown [195.140.142.194]) by postgresql.org (Postfix) with ESMTP id B02762E0064 for ; Wed, 26 Mar 2008 13:21:46 -0300 (ADT) Received: from par69-8-88-161-102-87.fbx.proxad.net ([88.161.102.87] helo=apollo13.peufeu.com) by h07.llord.com with esmtpa (Exim 4.68) (envelope-from ) id 1JeYNY-00037X-0t; Wed, 26 Mar 2008 17:21:32 +0100 Date: Wed, 26 Mar 2008 17:24:46 +0100 To: Matthew , pgsql-performance@postgresql.org Subject: Re: 1-/2-dimensional indexes for common columns, rationale? From: PFC Content-Type: text/plain; format=flowed; delsp=yes; charset=utf-8 MIME-Version: 1.0 References: <47EA5B4D.5000300@geizhals.at> <20080326150208.GH27264@a-kretschmer.de> Content-Transfer-Encoding: 7bit Message-ID: In-Reply-To: User-Agent: Opera Mail/9.24 (Linux) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - h07.llord.com X-AntiAbuse: Original Domain - postgresql.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - peufeu.com X-Source: X-Source-Args: X-Source-Dir: X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=1.142 tagged_above=0 required=5 tests=AWL=1.042, RDNS_NONE=0.1 X-Spam-Level: * X-Archive-Number: 200803/489 X-Sequence-Number: 29443 >>> create index foo1 on bla (a); >>> create index foo2 on bla (b); >>> create index foo3 on bla (a,b); You say you need faster INSERT performance. Getting rid of some indexes is a way, but can you tell a bit more about your hardware setup ? For instance, if you only have one HDD, put an extra HDD in the machine, and put the database on it, but leave the pg_xlog on the OS's disk. Or the reverse, depending on which disk is faster, and other factors. Since heavy INSERTs mean heavy log writing traffic, this almost doubles your write bandwidth for the cost of a disk. Cheap and efficient. You can also put the indexes on a third disk, but separating database and log on 2 disks will give you the most benefits. If you already have a monster hardware setup, though...