From: Christopher Browne <cbbrowne@libertyrms.info>
To: pgsql-sql@postgresql.org
Subject: Re: indexing timestamp fields
Date: Wed, 15 Oct 2003 17:31:21 -0400
Message-ID: <607k36w5li.fsf@dev6.int.libertyrms.info> (raw)
References: <bmjqo8$1hve$1@news.hub.org>
<60wub6wjxf.fsf@dev6.int.libertyrms.info>
<bmkafb$aiu$1@news.hub.org>
teknokrat <teknokrat@yahoo.com> writes:
> Christopher Browne wrote:
>
>> teknokrat <teknokrat@yahoo.com> writes:
>>
>>>Is it a good idea to index timestamp fields? what about date fields in
>>>general?
>> If you need to order by a timestamp, then it can be worthwhile.
>> If that timestamp can be null, and is rarely populated, then you
>> might
>> get a _big_ benefit from creating a partial index as with:
>> create index by_some_date on my_table(some_date) where some_date is
>> not null;
>
> I have a lot of queries of the " where timestamp < some date " type
> and was wondering if an index would improve performance. None of the
> timestamps are null and they are always populated
There isn't a single straight answer on this.
It _might_ help; it might not.
- It might be that adding "timestamp" to some existing index would be
better still.
- If the table is real big, and the "ts < other_ts" doesn't restrict
things very much, then you may merely sit in between an index scan
that touches every page of the table and a Seq Scan that does the
same.
Try creating the index, and do some EXPLAIN ANALYZE queries to see
what happens; that should give you an idea as to how effective this
is.
--
output = ("cbbrowne" "@" "libertyrms.info")
<http://dev6.int.libertyrms.com/;
Christopher Browne
(416) 646 3304 x124 (land)
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-sql@postgresql.org
Cc: cbbrowne@libertyrms.info
Subject: Re: indexing timestamp fields
In-Reply-To: <607k36w5li.fsf@dev6.int.libertyrms.info>
* 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