X-Original-To: pgsql-performance-postgresql.org@postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id 367199FA4D8 for ; Thu, 8 Jun 2006 16:17:48 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 18844-02 for ; Thu, 8 Jun 2006 16:17:43 -0300 (ADT) X-Greylist: delayed 00:06:39.98921 by SQLgrey- Received: from zeus.gigaweb.cz (zeus.gigaweb.cz [81.0.236.19]) by postgresql.org (Postfix) with SMTP id DA7B09FA1A4 for ; Thu, 8 Jun 2006 16:17:42 -0300 (ADT) Received: (qmail 30752 invoked from network); 8 Jun 2006 19:11:01 -0000 Received: from unknown (HELO ?192.168.1.101?) (89.102.195.181) by 0 with SMTP; 8 Jun 2006 19:11:01 -0000 Message-ID: <44887642.2040701@fuzzy.cz> Date: Thu, 08 Jun 2006 21:10:58 +0200 From: Tomas Vondra User-Agent: Mail/News 1.5 (X11/20060424) MIME-Version: 1.0 CC: pgsql-performance@postgresql.org Subject: Re: Why date index is not used References: In-Reply-To: X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200606/98 X-Sequence-Number: 19455 If you want to benefit from the usage of an index, the query has to contain some WHERE conditions (on the indexed columns). This is a 'select all' query - there is no way to speed it up using index. Tomas > > Why Postgres 8.1 does not use makse_kuupaev_idx index in the following query > > ? > > > > How to speed this query up ? > > > > explain analyze select * from makse order by kuupaev desc, kellaaeg desc > > limit 100 > > > > "Limit (cost=62907.94..62908.19 rows=100 width=876) (actual > > time=33699.551..33701.001 rows=100 loops=1)" > > " -> Sort (cost=62907.94..63040.49 rows=53022 width=876) (actual > > time=33699.534..33700.129 rows=100 loops=1)" > > " Sort Key: kuupaev, kellaaeg" > > " -> Seq Scan on makse (cost=0.00..2717.22 rows=53022 width=876) > > (actual time=0.020..308.502 rows=53028 loops=1)" > > "Total runtime: 37857.177 ms" > > > > > > CREATE TABLE makse( > > kuupaev date, > > kellaaeg char(6) NOT NULL DEFAULT ''::bpchar, > > guid char(36) NOT NULL, > > CONSTRAINT makse_pkey PRIMARY KEY (guid) ) > > > > > > CREATE INDEX makse_kuupaev_idx ON makse USING btree (kuupaev);