pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: BBI Edwin Punzalan <edwin@bluebamboo.ph>
To: 'Iain' <iain@mst.co.jp>
To: 'gnari' <gnari@simnet.is>
To: pgsql-performance@postgresql.org
Subject: Re: FW: Index usage
Date: Wed, 1 Dec 2004 12:05:18 +0800
Message-ID: <006101c4d75a$f87a0030$b400a8c0@bluebamboo.ph> (raw)
In-Reply-To: <00d101c4d75a$4bdc1700$7201a8c0@mst1x5r347kymb>


Hi. Thanks for your reply.  The date column data type is date already. :D

-----Original Message-----
From: Iain [mailto:iain@mst.co.jp] 
Sent: Wednesday, December 01, 2004 12:00 PM
To: BBI Edwin Punzalan; 'gnari'; pgsql-performance@postgresql.org
Subject: Re: [PERFORM] FW: Index usage


If it's any help, i just ran this test on 7.4.6, my table has about 7000000 
rows and the index is an integer.

The item id ranges from 1 to 20000.

As you can see from the following plans, the optimizer changed it's plan 
depending on the value of the item id condition, and will use an index when 
it determines that the number of values that will be returned is a low % of 
the total table size.

The item_id is an integer, but It looked like you are using a character 
field to store date information. Also, the dates you entered in your test 
case seem to be in the format DD/MM/YY which won't be amenable to useful 
comparative searching (I didn't read any of the earlier posts so if that 
isn't the case, just ignore this). If this is the case, try storing the data

in a date column and see what happens then.

regards
Iain

test=# explain analyse select * from bigtable where item_id <= 1000;
 
QUERY 
PLAN

----------------------------------------------------------------------------
---------------------------------------
--------------------------------------------
 Index Scan using d_bigtable_idx2 on bigtable  (cost=0.00..118753.57 
rows=59553 width=80) (actual
time=0.069..704.401 rows=58102 loops=1)
   Index Cond: ((item_id)::integer <= 1000)
 Total runtime: 740.786 ms
(3 rows)


test=# explain analyse select * from bigtable where item_id <= 100000000;
                                                            QUERY PLAN

----------------------------------------------------------------------------
---------------------------------------
---------------
 Seq Scan on d_hi_mise_item_uri  (cost=0.00..194285.15 rows=7140589 
width=80) (actual time=0.027..18599.032 rows=71
14844 loops=1)
   Filter: ((item_id)::integer <= 100000000)
 Total runtime: 23024.986 ms

----- Original Message ----- 
From: "BBI Edwin Punzalan" <edwin@bluebamboo.ph>
To: "'gnari'" <gnari@simnet.is>; <pgsql-performance@postgresql.org>
Sent: Wednesday, December 01, 2004 11:33 AM
Subject: Re: [PERFORM] FW: Index usage


>
> Thanks but whatever it does, it didn't work. :D
>
> Do you think upgrading will fix this problem?
>
> =========================
> db=# alter table chatlogs alter column date set statistics 300; ALTER
> db=# analyze chatlogs;
> ANALYZE
> db=# explain analyze select * from chatlogs where date >= '12/1/04';
> NOTICE:  QUERY PLAN:
>
> Index Scan using chatlogs_type_idx on chatlogs  (cost=0.00..6053.61 
> rows=3357 width=212) (actual time=22.14..138.53 rows=1312
> loops=1)
> Total runtime: 139.42 msec
>
> EXPLAIN
> morphTv=# explain analyze select * from chatlogs where date >= 
> '11/03/04';
> NOTICE:  QUERY PLAN:
>
> Seq Scan on chatlogs  (cost=0.00..27252.86 rows=271882 width=212) 
> (actual time=12.24..13419.36 rows=257137 loops=1) Total runtime: 
> 13573.70 msec
>
> EXPLAIN
> =========================
>
>
>
> -----Original Message-----
> From: gnari [mailto:gnari@simnet.is]
> Sent: Wednesday, December 01, 2004 10:08 AM
> To: BBI Edwin Punzalan; pgsql-performance@postgresql.org
> Subject: Re: [PERFORM] FW: Index usage
>
>
> From: "BBI Edwin Punzalan" <edwin@bluebamboo.ph>
>
>
>>
>> Hi, what do you mean by increasing the statistics on the date column?
>
> alter table chatlogs alter column date set statistics 300; analyze
> chatlogs;
>
>> > > Our version is 7.2.1
>> >
>> > upgrade time ?
>>
>> We never had any upgrade on it.
>
> 7.2 is a bit dated now that 8.0 is in beta
>
> if you want to stay with 7.2, you should at least upgrade
> to the latest point release (7.2.6 ?), as several serious bugs have 
> been fixed
>
> gnari
>
>
> ---------------------------(end of 
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org 




view thread (34+ messages)  latest in thread

Message-ID: <006101c4d75a$f87a0030$b400a8c0@bluebamboo.ph>
Permalink:  ../006101c4d75a$f87a0030$b400a8c0@bluebamboo.ph/
Also on:    postgresql.org/message-id/006101c4d75a$f87a0030$b400a8c0@bluebamboo.ph

 · 

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: edwin@bluebamboo.ph, iain@mst.co.jp, gnari@simnet.is
  Subject: Re: FW: Index usage
  In-Reply-To: <006101c4d75a$f87a0030$b400a8c0@bluebamboo.ph>

* 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