Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PostGreSQL Performance ?!

Status
Not open for further replies.

pascalxricher

Programmer
Oct 22, 2001
14
0
0
CA
Hi !

I did not see any benchmark with PostGreSQL on the web... Does this database engine is better or not in comparison of SQL Server and MySQL, for the performance...

Thanks,

Pascal ;
 
It depends on what you want it to do.

MySQL is one of the fastest for simple queries, and most read-only access, but it has very limited data integrity support. If you don't need complex relationships and foreign keys, then this is not much of a problem, but anything involving serious data operations, and mission-critical data, should not be done in MySQL, in my opinion.

PostgreSQL performs much better than MySQL on complex applications, though, involving many different types of operations happening at the same time. It also supports all mission-critical data integrity constraints, and provides for transactions, stored procedures, etc... In some benchmarks, PostgreSQL has done better than MySQL, while on others, MySQL has performed better.

Microsoft SQL Server performs quite well, but there are questions about how well it enforces data integrity. Some developers I know who have ported MSSQL databases over to Oracle database have found many key violations, etc... Often the way most users squeeze performance out of MSSQL is to enable "dirty reads", and other questionable settings, which reduce data integrity.

In the end, the benchmarks are useless (and sometimes even misleading), in my opinion. You should evaluate your database choice in this order:

1. What sorts of data integrity features you need,
2. Which other features are important to you, such as database size limitations, flexibility in areas such as stored procedures, Views, etc...
3. Stability of the software in general (how well does it stand up in a production environment? How well does it recover from a crash, etc...)
4. Performance, which should only be the LAST consideration. It is always possible to get a more powerful server, but if your database is limited in those other areas, you will be sorry later.

It is honestly a mistake to compare the three databases you have mentioned, because they are so different. MySQL doesn't support nearly as many enterprise level features as SQL Server and PostgreSQL, and SQL Server runs only on Windows, while PostgreSQL only runs well on Unix or Linux (POstgreSQL can run on Windows, but it is slow)

It is even more of a mistake to make your choice among the three just because of performance. Think about what your application needs to do, and then research the capabilities of each database carefully.

And, lastly, your database design choices will affect performance far more than your choice of database engines. And these design choices are affected by the data constraint features in the database, which is why I say THAT is where you want to start looking. -------------------------------------------

"Calculus is just the meaningless manipulation of higher symbols"
                          -unknown F student
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top