Re: POSTGRES DB 3 800 000 rows table, speed up?

From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: Eugene <evgenius(at)hot(dot)ee>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: POSTGRES DB 3 800 000 rows table, speed up?
Date: 2005-12-28 17:33:02
Message-ID: 20051228173302.GE72143@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Dec 27, 2005 at 11:25:37PM +0200, Eugene wrote:
> I've indexed first two columns they are IPfrom, IPto also table is btree
> version of postgre is 7.4.8, on hosting

You should ask them to upgrade; 7.4 is getting pretty old.

> I ask db like this SELECT * FROM ipdb2 WHERE '3229285376' BETWEEN ipfrom
> AND ipto;

I'm pretty sure PostgreSQL won't be able to use any indexes for this
(EXPLAIN ANALYZE would verify that). Instead, expand the between out:

WHERE ipfrom >= '...' AND ipto <= '...'

Also, generally speaking, databases and CamelCase don't mix too well;
you'll probably be happier doing something like ip_from and ip_to.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Randal L. Schwartz 2005-12-28 17:44:48 Re: Adding columns to a view
Previous Message Ted Byers 2005-12-28 17:12:59 Final stored procedure question, for now anyway