Re: bigserial vs serial - which one I'd have to use? - Mailing list pgsql-performance

From Ron Johnson
Subject Re: bigserial vs serial - which one I'd have to use?
Date
Msg-id 1043659121.815.407.camel@haggis
Whole thread Raw
In response to bigserial vs serial - which one I'd have to use?  (Medve Gabor <eire@enternet.hu>)
List pgsql-performance
On Sun, 2003-01-26 at 15:24, Medve Gabor wrote:
> Hi all,
>
> Have you got any data (ie in percentage) of around how much more CPU
> work needed with the bigserial type in the queries?
>
> I have a log database with 100million records (the biggest table
> contains 65million records) and I use bigserial data type as primary key
> now. The primary key looks this way: YYYYMMDD1xxxxxxx where the first 8
> numbers are the date, and the x's are the record sequence number on that
> day. This way the records are in ascendant order. Almost all of the
> queries contains date constraints (PK like 'YYYYMMDD%'). I'd like to
> know if I do it in a stupid way or not. I'm not a DBA expert so every
> idea are welcome. If you need more information about the
> hardware/software environment, the DB structure then I'll post them.

I think you can only do LIKE queries on CHAR-type fields.

BETWEEN ought to help you, though:
SELECT *
FROM foo
where prim_key BETWEEN YYYYMMDD00000000 and YYYYMMDD999999999;

Alternatively, if you really want to do 'YYYYMMDD%', you could create
a functional index on to_char(prim_key).

Lastly, you could create 2 fields and create a compound PK:
PK_DATE   DATE,
PK_SERIAL BIGINT

Then you could say:
SELECT *
FROM foo
where pk_date = 'YYYY-MM-DD'

Of course, then you'd be adding an extra 8 bytes to each column...

--
+---------------------------------------------------------------+
| Ron Johnson, Jr.        mailto:ron.l.johnson@cox.net          |
| Jefferson, LA  USA      http://members.cox.net/ron.l.johnson  |
|                                                               |
| "Fear the Penguin!!"                                          |
+---------------------------------------------------------------+


pgsql-performance by date:

Previous
From: Ron Johnson
Date:
Subject: Re: LOCK TABLE & speeding up mass data loads
Next
From: "Shridhar Daithankar"
Date:
Subject: Re: LOCK TABLE & speeding up mass data loads