Sign in to follow this  

[web] SQL server performance

This topic is 4852 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi I am going to be building my own forum website, and I can not think what to use as the backend. The last time I made one I use MS Access, but this time I plan on making a big website and a much more complex forum site. I can not decide between mysql or microsoft sql server. Price is not a issue as I already have a cpu licensce for ms sql, I was wondering what database server offers better performance, I googled for quite a while and all I found was this outdated chart http://dev.mysql.com/tech-resources/benchmarks/eweek-throughput.jpg I asked this on another forum and all what happened was people who didnt really know anything said microsoft sql server because they said microsoft is better, and the microsoft haters just said mysql! Please can I have graphs, reviews, e.t.c. please also giver personal reviews, but not one sided things as I said above, I have actually used both on low usage sites and could not tell the diffrence, wich is why I want proof, and graphs e.t.c. Thanks for the help in advance Wil

Share this post


Link to post
Share on other sites
MS SQL is _far_ better than MySQL. MySQL in my opinion is crap, total crap. It's very fugly software, simple as that. It's got less features, less flexibility, less scalibility... it's pretty much inferior to _any_ other SQL server I can think of. I've used both and from experience MS SQL is a LOT nicer to work with. I don't have any performance graphs or charts, but I'm sure there are some out there.

Share this post


Link to post
Share on other sites
I used mysql for a while whilst developing a website for someone i know as they wanted it instead of ms sql, and to tell you the truth I really liked the mysqladmin / winadmin thing... not the one that comes with, but the thing you download, I liked the realtime graph update on sql queries...

apart from that, I have to say I like microsoft sql server, simply as I know big companies use it, and as much as there may be a lot of people who hate microsoft, they succesfully run probably the biggest website on the internet and have a lot of sql servers, and I can not remember when they last had downtime... It is just reassurence to me!

as I previously said, I am not aggainst any other sort of sql server, I just want solid proof wich is better!

Thanks

Share this post


Link to post
Share on other sites
You didn't mention what language you will be developing with. If your using PHP (or python) I'd suggest using ADODB (http://adodb.sourceforge.net) so you can support a wide variety of databases.

As far as mysql is concerned, Ra is correct. mysql is complete and utter shit. Horribly inadequate implementation of the sql standard. I think foreign keys were just recently added.

Hopefully as soon as Postgresql 8.0 is released mysql will go the way of the dodo. The only thing mysql has on Postgres currently is that it runs on windows and linux. Postgresql 7.x runs of the various flavors of linux/unix. 8.0 will add support for windows. Personally I think postgres is the best. Its free, definitely an enterprise-class RDBS, and it is getting better all the time.

But like I said, if you use PHP + ADODB you will be afforded awesome flexibility. Imagine being able to support MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP.

Andrew

Share this post


Link to post
Share on other sites
As stated before, MS SQL is superior to MySQL in every possible way, with the exception of running on Linux, price (assuming you are using it for non-commerical use and they doesn't decide they like your software and demand that you give them the sourcecode or pay a $600 fee [they could claim your banner ads make your site "commercial"]), and the fact that it has been bundled as the Apache/PHP/MySQL setup for so long (with PHP helping to lock people into MySQL with its one way MySQL functions to restrict choice). About the only thing MySQL even provides passable performance in is doing doing simple (i.e. SELECT * FROM with a JOIN and simple WHERE condition) queries in a multiple user environment. As soon as you try and manipulate the data (INSERT/UPDATE/DELETE) or try doing an advanced query (or advanced as you can get with the utterly crippled implimentation of the SQL standard) it falls way below the mark (MySQL people will typically try to sell you performance by comparing to Access, which is like someone trying to tell you their car is fast because it can beat a bicycle). Feature-wise, as mentioned, MySQL has a horrible limited version of SQL (UNION didn't even appear until version 4) and many of the advanced functions have obviously been tacked onto a system never designed to support them, with performance drops as expected. You also lack user defined functions, stored procedures and views, something found in one form or another in almost all real databases.

If you have the licence and are not going to be running your database server on Linux (note that it can be seperate from the web server, Gamedev.net's is), then use MS SQL.

Share this post


Link to post
Share on other sites
Of note, you can get Postgres to run on Windows, it's just really messy and you basically have to be a UNIX guru to do it (though to be honest you need to be pretty well versed in Linux/UNIX to get it to work normally anyway). Postgres is a very strong database, and depending on your exact needs, and how you customize it (there is a lot to tweak) Postgres can be superior to MS SQL in a lot of instances. But as I said, you'd have to *really* know what you are doing. Unless you've got a few year experience with Postgres or have someone who does, MS SQL would be the better choice for out of the box performance, features and reliability.

Share this post


Link to post
Share on other sites
Thanks for that, I think I will definatly be using microsoft sql server, as I said I already own a licensce that allows me to have unlimited connections on 1 cpu

as for the person who said about adodb... that is really not needed...

I will be programming using asp as I am very experianced with that or asp.net if I learn it... (unlikly! I just cant udnerstand it!)

asp on iis allows easy use of databases, and really one connection is all I need!

Thanks for your help.. but still does someone have any graphs or benchmarks... I beleive you when you say microsoft sql server is simply better, and I am happy knowing that, but if possible I really want to see some proof, and hard facts!

Thanks

Share this post


Link to post
Share on other sites
Real benchmarks between the two are very hard to come by, in general you have to rely on a "A outperforms B, and B outperforms C, so A outperforms C" approach to compare them on in a benchmark fashion. The leading independent authority on database performance, TPC (Transaction Performance Council) does do extensive and ongoing benchmarking of databases (for example here are the current top 10 databases by pure performance [i.e. regardless of cost]). However the MySQL people have never consented to having their database benchmarked by TPC or any other independent authority, insteading prefering to create their own private "benchmarks" (MySQL "benchmarks" as a rule never touch on performance of actually executing SQL commands, instead relying on how well a database responds to pings as the one and only way to measure performance [in this manner they have placed themselves neck and neck with Oracle]. Unfortunately its really hard to determine exactly how this is done, as the exact results and the actual testing methods are a secret)

Share this post


Link to post
Share on other sites
Which gives better performance is largely (although not entirely) down to client-side libraries.

Both MySQL and MSSQL are going to do a simple query so quickly, that the performance characteristics are entirely down to network and client/side stuff.

In practice it's generally been shown that you get better performance by using a client library that is "more integrated" to the DB.

For example, you get best performance on MSSQL (well, mostly I think) by using ADO.NET. You get best performance on MySQL by using PHP (or another system that uses the binary client library well integrated).

Some performance comparisons use Java. This is great, but they are not really comparing the speed of the DBs - certainly not for simple queries.

In fact, the one thing is clear, if you are using Java, make sure you steer clear of Microsoft's awful JDBC driver for MSSQL, it kills performance extremely badly.

Just like anything, the only way to compare performance properly, is to compare the performance of YOUR APPLICATION, not some artifical benchtest, or anybody else's app.

MSSQL clearly has more features and a more fancy GUI - but whether this suits your app depends on how you're making it.

Mark

PS: As a general Microsoft basher, MSSQL is about the only product by M$ that I actually rate pretty highly.

Share this post


Link to post
Share on other sites

This topic is 4852 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this