Re: How Postgresql Compares For Query And Load Operations

From: Mark kirkwood <markir(at)slingshot(dot)co(dot)nz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How Postgresql Compares For Query And Load Operations
Date: 2001-07-14 05:02:37
Message-ID: 01071417023700.08557@spikey.slithery.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom,

Good point....

I notice I have set Oracle "pga_aggregate_size=30M" which includes the sort
space for a user process ( oops) whereas every other db has about 2M ( there
are a few typos on the page... forgot to update from an earlier study)

I will have to re-run the Oracle results with 2M ( or re-run the rest with
30M...) I will update you .....

> If Oracle really is doing a sort, it's hard to see where the speed
> difference came from --- unless you have set the tuning parameters such
> that Oracle does the sort all-in-memory whereas Postgres doesn't. Sorts
> that have to go to disk are lots slower.

> Can anyone who actually knows how to read Oracle plans confirm or deny
> these speculations?

I will have a play with a clearer example for the star optimization business
( the thoery being - I believe ...that for a star query with n (small)
dimension tables and 1 (big) fact table, it is best to cartesian product the
dimensions, determine a set of keys, and access to the fact table using
these). My "trivial" example with 1 dimension does not illustrate this that
well...( I have another with 2 dimension tables which should be
better)...again I will update you.
>
> > Buld Load times for a 3000000 row (700Mb ) fact table were
> >
> > Postgresql 9m30s (copy)
> > Db2 2m15s (load)
> > Oracle 5m (sqlldr)
> > Mysql 2m20s (load)
>

There are a few "optional" scripts in the tar - which I should have indicated
:-( ... I do not do the cluster, primary or foreign keys at all ( there were
too many variations and options for constraints for all the different
databases)....so I just create the table, load via copy and then create the
various indexes. The load timings are for the fact0 table with no indexes
created.

> Hmm, I couldn't make out from your webpage exactly how you did the
> loading, or which steps are included in your timings. I see that you
> used COPY, which is good ... but did you create the indexes before or
> after COPY? What about the constraints? I also see a CLUSTER script
> --- was this used, and if so where is its time counted?
>
> regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message GH 2001-07-14 06:37:24 Re: Postgres User and Password
Previous Message R Talbot 2001-07-14 01:43:57 Postgres User and Password