pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Rod Taylor <pg@rbt.ca>
To: Amit V Shah <ashah@tagaudit.com>
Cc: pgsql-performance@postgresql.org, 'Jeffrey Tenny' <jeffrey.tenny@comcast.net>
Subject: Re: Need help to decide Mysql vs Postgres
Date: Mon, 06 Jun 2005 12:22:29 -0400
Message-ID: <1118074949.709.18.camel@home> (raw)
In-Reply-To: <0C072E7CC947D511AC9600A0CC7341200256CF36@xeon400.tagaudit.com>
References: <0C072E7CC947D511AC9600A0CC7341200256CF36@xeon400.tagaudit.com>

On Mon, 2005-06-06 at 12:00 -0400, Amit V Shah wrote:
> Hi all,
> 
> Thanks for your replies. 
> 
> I ran a very prelimnary test, and found following results. I feel they are
> wierd and I dont know what I am doing wrong !!!
> 
> I made a schema with 5 tables. I have a master data table with foreign keys
> pointing to other 4 tables. Master data table has around 4 million records.
> When I run a select joining it with the baby tables, 
> 
> postgres -> returns results in 2.8 seconds
> mysql -> takes around 16 seconds !!!! (This is with myisam ... with innodb
> it takes 220 seconds)

We said MySQL was faster for simple selects and non-transaction inserts
on a limited number of connections.

Assuming you rebuilt statistics in MySQL (myisamchk -a), I would presume
that PostgreSQLs more mature optimizer has come into play in the above 5
table join test by finding a better (faster) way of executing the query.

If you post EXPLAIN ANALYZE output for the queries, we might be able to
tell you what they did differently.

> I am all for postgres at this point, however just want to know why I am
> getting opposite results !!! Both DBs are on the same machine

If possible, it would be wise to run a performance test with the
expected load you will receive. If you expect to have 10 clients perform
operation X at a time, then benchmark that specific scenario.

Both PostgreSQL and MySQL will perform differently in a typical real
load situation than with a single user, single query situation.

> -----Original Message-----
> From: Jeffrey Tenny [mailto:jeffrey.tenny@comcast.net]
> Sent: Monday, June 06, 2005 11:51 AM
> To: pgsql-performance@postgresql.org
> Subject: Re: [PERFORM] Need help to decide Mysql vs Postgres
> 
> 
> Re: your JDBC wishes: Consider IBM Cloudscape (now Apache Derby) too, 
> which has an apache license.  It's all pure java and it's easy to get going.
> 
> 
> As to MySql vs Postgres: license issues aside, if you have 
> transactionally complex needs (multi-table updates, etc), PostgreSQL 
> wins hands down in my experience.  There are a bunch of things about 
> MySQL that just suck for high end SQL needs. (I like my subqueries,
> and I absolutely demand transactional integrity).
> 
> There are some pitfalls to pgsql though, especially for existing SQL 
> code using MAX and some other things which can really be blindsided 
> (performance-wise) by pgsql if you don't use the workarounds.
> 
> 
> MySQL is nice for what I call "raw read speed" applications. But that 
> license is an issue for me, as it is for you apparently.
> 
> 
> Some cloudscape info:
> http://www-306.ibm.com/software/data/cloudscape/
> 
> Some info on pitfalls of MySQL and PostgreSQL, an interesting contrast:
> http://sql-info.de/postgresql/postgres-gotchas.html
> http://sql-info.de/mysql/gotchas.html
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
> 
-- 




view thread (33+ messages)  latest in thread

Message-ID: <1118074949.709.18.camel@home>
Permalink:  ../1118074949.709.18.camel@home/
Also on:    postgresql.org/message-id/1118074949.709.18.camel@home

 · 

reply

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-performance@postgresql.org
  Cc: pg@rbt.ca, ashah@tagaudit.com, jeffrey.tenny@comcast.net
  Subject: Re: Need help to decide Mysql vs Postgres
  In-Reply-To: <1118074949.709.18.camel@home>

* 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