X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 9358F534C0 for ; Mon, 18 Apr 2005 13:07:11 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 68854-02 for ; Mon, 18 Apr 2005 16:07:09 +0000 (GMT) Received: from terminus.dnttm.ro (terminus.dnttm.ro [193.226.98.11]) by svr1.postgresql.org (Postfix) with ESMTP id 840FC534AA for ; Mon, 18 Apr 2005 13:07:01 -0300 (ADT) Received: from nutzi (dnt-gw-softnrg.dnttm.ro [193.226.89.168]) by terminus.dnttm.ro (8.13.3/8.12.9) with SMTP id j3IG61ul000331; Mon, 18 Apr 2005 19:06:06 +0300 Received: by nutzi (VPOP3 - Unregistered) with SMTP; Mon, 18 Apr 2005 19:11:38 +0300 Received: from 127.0.0.1 (AVG SMTP 7.0.308 [266.9.15]); Mon, 18 Apr 2005 19:11:38 +0300 Message-ID: <4263DC3A.5070509@softnrg.dnttm.ro> Date: Mon, 18 Apr 2005 19:11:38 +0300 From: Andrei Gaspar User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en To: Dave Held Cc: pgsql-performance@postgresql.org Subject: Re: Sort and index References: <49E94D0CFCD4DB43AFBA928DDD20C8F9026184B6@asg002.asg.local> In-Reply-To: <49E94D0CFCD4DB43AFBA928DDD20C8F9026184B6@asg002.asg.local> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Server: VPOP3 V1.2.0d Evaluation X-Virus-Scanned: ClamAV 0.80/822/Tue Apr 12 07:55:55 2005 clamav-milter version 0.80j on localhost X-Virus-Status: Clean X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests= X-Spam-Level: X-Archive-Number: 200504/407 X-Sequence-Number: 11804 Thanks for the quick response Andrei Dave Held wrote: >>-----Original Message----- >>From: Andrei Gaspar [mailto:andi@softnrg.dnttm.ro] >>Sent: Monday, April 18, 2005 10:36 AM >>To: pgsql-performance@postgresql.org >>Subject: [PERFORM] Sort and index >> >>I thought that an index can be used for sorting. >>I'm a little confused about the following result: >> >>create index OperationsName on Operations(cOperationName); >>explain SELECT * FROM Operations ORDER BY cOperationName; >> QUERY PLAN >>-------------------------------------------------------------- >>--------- >> Sort (cost=185.37..189.20 rows=1532 width=498) >> Sort Key: coperationname >> -> Seq Scan on operations (cost=0.00..104.32 rows=1532 width=498) >>(3 rows) >> >>Is this supposed to be so? >> >> > >Since you are fetching the entire table, you are touching all the rows. >If the query were to fetch the rows in index order, it would be seeking >all over the table's tracks. By fetching in sequence order, it has a >much better chance of fetching rows in a way that minimizes head seeks. >Since disk I/O is generally 10-100x slower than RAM, the in-memory sort >can be surprisingly slow and still beat indexed disk access. Of course, >this is only true if the table can fit and be sorted entirely in memory >(which, with 1500 rows, probably can). > >__ >David B. Held >Software Engineer/Array Services Group >200 14th Ave. East, Sartell, MN 56377 >320.534.3637 320.253.7800 800.752.8129 > >---------------------------(end of broadcast)--------------------------- >TIP 4: Don't 'kill -9' the postmaster > > > > -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.308 / Virus Database: 266.9.15 - Release Date: 4/16/2005