Re: Performance MSSql vs PostgreSql

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: pgsql-advocacy(at)postgresql(dot)org
Cc: zzzzz <zzzzz(at)indycobra(dot)com>
Subject: Re: Performance MSSql vs PostgreSql
Date: 2006-05-11 00:41:30
Message-ID: 200605101741.31171.josh@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-advocacy

ZZ,

> One of the big problems with the performance numbers I came up with is
> the way the data was inserted. When creating the table and adding the
> records I only did "Select * from qclog" from the MSSql where the data
> is not organized in chronologically with respect to InspecNum. So
> PostgreSql has to jump around allot to put the data in order. This made
> the page caching worthless. Second given the size of the dataset being
> requested the buffer is always over written with each new query.
> PostgreSql had to use the disk

First off, this is PostgreSQL on windows, right?

Second, what's your work_mem setting?

Third: data in MSSQL is spooled, and therefore by default in the order it
was inserted into the table. So if the timestamp is related to how the
data was inserted in the table, it may actually be ordered in MSSQL and
not in PostgreSQL.

Also, by default the time returned by MSSQL is the time it *began*
returning rows, whereas PostgreSQL gives you the time it *finished*. How
are you measuring that time?

That being said, it's certainly possible that PostgreSQL sorting is slower
on Windows than SQL Server is. We are optimized for Linux and FreeBSD,
and your test is pretty much a raw sort speed test.

Finally, given your overall times I see that stuff is *very* slow on
VMware. I'd expect that query to return in milleseconds on both
databases!

--
--Josh

Josh Berkus
PostgreSQL @ Sun
San Francisco

In response to

Responses

Browse pgsql-advocacy by date

  From Date Subject
Next Message Magnus Hagander 2006-05-11 11:13:47 Re: Performance MSSql vs PostgreSql
Previous Message zzzzz 2006-05-10 23:22:48 Re: Performance MSSql vs PostgreSql