samaru 145 a.k.a inscissor Team Colleague

http://builder.com.com/article.jhtml?id=u00320020624gcn01.htm

From article:

[ When to use MySQL]

Why would you use MySQL over PostgreSQL? First, we need to consider the needs of the applications in terms of database requirements. If I want to create a Web application and performance is an issue, MySQL will be my choice because its fast and designed to work well with Web-based servers. However, if I want to create another application that demands transactions and foreign key references, PostgreSQL is the choice.

As an open source developer, I work with both databases on a regular basis, and I typically use all the features of a given database in the design and development process. It wouldnt suffice for me to use PostgreSQL for a database-driven Web site when my application requires performance.

Even though MySQL is not fully compliant with the ANSI SQL standard, I should mention that, while PostgreSQL is closer to the ANSI SQL standard, MySQL is closer to the ODBC standard.

Let me suggest some reasons for using MySQL over PostgreSQL:

MySQL is relatively faster than PostgreSQL.
Database design will be simpler.
You can create a basic Web-driven Web site.
MySQLs replication has been thoroughly tested.
Theres no need for cleanups in MySQL (Vacuum).


[ When to use PostgreSQL ]

Not many Web developers use PostgreSQL because they feel that the additional features degrade performance. The article "Many Web developers prefer MySQL" offers a glimpse into the mentality of Web developers and their reasons for using MySQL. However, PostgreSQL offers many advantages over MySQL.

For example, some of the features I use are foreign key references, triggers, and views. They allow me to hide the complexity of the database from the application, thus avoiding the creation of complicated SQL commands. I know many developers who prefer the rich functionality of PostgreSQLs SQL commands. One of the most notable differences between MySQL and PostgreSQL is the fact that you cant do nested subqueries of subselects in MySQL. PostgreSQL follows many of the SQL ANSI standards, thus allowing the creation of complex SQL commands.

Let me suggest some reasons for using PostgreSQL over MySQL:

Complex database design
Moving away from Oracle, Sybase, or MSSQL
Complex rule sets (i.e., business rules)
Use of procedural languages on the server
Transactions
Use of stored procedures
Use of geographical data
R-Trees (i.e., used on indexes)