What is MySQL?

What is MYSQL? and what is the difference between MYSQL and SQL Server?  
Who is Participating?

Improve company productivity with a Business Account.Sign Up

OliWarnerConnect With a Mentor Commented:
Its funny when such a simple question has a complex answer.

As has been broght up already, there are significant licensing differences between the two database servers. That's something you're going to have to look into on your own based on what you need.

As has also been mentioned, support is another key difference that was mentioned. They're actually quite similar in this respect. Just because you pay $megabucks for SQL Server, that doesn't entitle you to unlimited software support. If you want priority support with either, you have to pay for it. Both have community driven support, both internally and on sites like this. MySQL have recently launches The MySQL Network which is a product aimed at supporting MySQL development as well as (if not better than) MS supports SQL Server.

All of these points above should probably run secondary to how you're actually going to be implementing this database in your solution. If you're going to need to hook into it from lots of different systems on lots of different platforms, SQL Server isnt really going to be the best for that. If you're sticking to a pure MS platform rollout with ASP.net (especially V2) you're going to get amazing performance (something I'll rant on about in a second) because of the efforts MS have gone to making them work in perfect synergy.

As I said I would, I'll talk as much as I can about performance. SQL Server does need a bit more beef to get it running in the first place, but if the specs of the server arent an issue, you're going to get a oriface-widening fast database server. MySQL isnt "bad" but it doesn't come close to competing on large-scale systems. The same goes when replication over multiple servers.

In short there are lots of things that can be said about both database. Which points affect you, really depends on what you need from the database server and how much money you've got to throw at the problem. If it needs to work well on multiple systems, from multiple programming languages and be cheap, MySQL will probably be your best bet. If you can afford all the expenses that it'll take to get it up and running (and supported) and you need the best performance from your application, MS SQL should be looking good to you right now.

Remember that you shoudn't just be looking at the initial costs of each system... Look into how much its going to cost you to run and if its performance is directly tied into how much money you can make, how much extra money it could be making you.

If you want to get your feet wet, there are evalution versions of MS SQL Server on www.microsoft.com and as is perfectly clear now, MySQL is freely available from www.MySQL.org

One last note, if you're not going to be developing the thing that's using the database, please PLEASE talk to your developers and keep them in the loop. There's no point in going for a MS solution if all your programmers are php/mysql developers (and vise-versa). The reason I plead this is because your question sounds like one asked by the great "thinkers" that are **drum roll** middle management...
Guy Hengel [angelIII / a3]Billing EngineerCommented:
MySQL: see www.mysql.com
MSSQL: see *.microsoft.com

they are different database products, but have many things in the syntax in common, but not everything
Guy Hengel [angelIII / a3]Billing EngineerCommented:
One major difference is that for MSSQL, you have to pay (except for MSDE/Express version), and that it runs only on windows platform.
MySQL is rather free (but you can pay for it depending what you are doing with it), but it runs on almost any platform
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

The above answers are very good.  Keep in mind that when it comes to memory usage, you are going to be able to use MySQL on a server with a lot less resources used than on SQL Server as well.  The downsides are that since MySQL is free, you are dependent upon only the web community for support, whereas if you pay for another solution, you are guranteed paid developers to help you and to guarantee a solution.  I have used both and find that there are major differences in the interfaces, but I was able to accomplish my goals on both tools.  SQL Server is pretty pricy but works well and if you are trying to go with a cheaper solution and do not mind relying on sites like this for assistance, MySQL should do the trick.
MySQL does actually have fully supported versions available, at a cost of course.  They can offer any level of support that is needed and to some degree, even moreso than Microsoft's SQL server.  In general, MSSQL will only be changed if the change benefits microsoft as a whole, whereas if you have a paid for version of MySQL support, they can customize it to suit your needs.  This is also possible through community support, but is less likely to occur unless, again, the desired feature is something that would benefit the community as a whole.  

Most of this is largely due to the difference between Open Source (MySQL) and closed source (MSSQL) options.  The main mistake people make when going for MySQL is in thinking that if their needs are complex that a 'free' version of MySQL will meet them.  I personally prefer MySQL over MSSQL, but if you're not sure of what you're doing, the choice actually becomes much harder to make.
also check out the mysql wiki:


Ok, I'll be the first to say it, but won't bring it up again after that.  But as for the speed of the two, I've seen optimized versions of MySQL blow away SQL Server even on a large scale on more than one occasion.  Out of the box, ms sql is faster on fast hardware, but a commercially supported version of MySQL can at least compete with and can often beat MS SQL.  Now if you're comparing the community standard distributions of MySQL, that's another matter.  But, you get what you pay for.  But since MySQL can do far more on lesser hardware, it is true that the smaller the application, the more favorable it becomes.  

And to those who think it can't compete...let's consider some of MySQL AB's clients.  

The Sanger Institute's Human Genome Project
Danish Center for Biological Sequence Analysis

Some of the projects it's used on are arguably some of the largest and fastest databases in the world.  Now, as I mentioned, they aren't using the free editions...but there is an open challenge to Microsoft to do a joint comparison that to this day, Microsoft has not accepted.  

And this wasn't for the purpose of Microsoft bashing as their products keep the technical side of my business in business.  I just think MySQL deserves to be known as more than the community open source project that it started out as.  It has come a long way.
Add this note:  there are three, MySQL [Open Source], MSSQL [Microsoft], SQL [IBM].  All three are different.
Guy Hengel [angelIII / a3]Billing EngineerCommented:
Oracle has also SQL, and is even a bigger player than MSSQL (well, depends on how "bigger" is measured...)
also, different.
And Sybase, DB2, as well as several other lesser known options.  Comparing them all can become quite a complex and lengthy discussion.  I'm assuming that MySQL and MS SQL were asked about since they're the two most commonly found on hosting platforms.  
YEY! Lets list all the databases that use SQL!

SQL Server
McKoi SQL Database
Adabas D
Velocis Database Server

There are some I've no doubt missed off this list and obviously some are a lot better than others.

What's the point of this list? Only to ask the experts to stay on topic and answer the question =) We're supposed to be comparing 2 database systems, not 34.
Asked and answered.  SQL is simply not MSSQL, that was the point of the smaller list; it bears on "Which one are you actually talking about, since it seems you were referring to MSSQL vs MySQL and not SQL vs MySQL.

It was for clarity and was not "off-topic."  I believe the questioner is actually talking about Microsoft SQL Server and not technically IBM's SQL Server.


MySQL uses its own database engine, innodb, and perhaps a few others may be ported, whiile MSSQL uses mostly the standard Microsoft databases, Access, Excel, etc..  Can the two be joined?  Not sure.  Can one be migrated to the other?  Yes, if you hire a consultant.  Postgres and all the others are similar; proprietary databases hard to migrate and/or share.

You can use both, many, in fact, but integration is difficult at best.

Which means, when you ask the question, it boils down to "you have to decide how to use each one and for what purpose."  MySQL integrates very quickly with things like PHP, MSSQL has some difficulties with this.  MSSQL, on the other hand, is designed to work with all Microsoft software, Money, Office, etc., which makes it easier for Microsoft integrated applications.  MySQL:  good for web, such as forums, other interactive software over the world wide web; MSSQL : good for Microsoft shares, perhaps Active Directory [Microsoft's version of interactive world wide web applications], and the like.

You can try both for free, but both have a cost if you want all of the premium services.

They are all limited to some extent and trying to measure speeds is kind of an exercise in futility; it depends on how you organize it, not how the query fetches it.    

They are, after all, languages, and languages have rules that you must use in that language's grammar and syntax, their "speech," to make any of them "faster."

SQL is the language, SQL Server is Microsoft's database server engine.  I don't think IBM ever had a product actually named SQL Server(at least not that I can find mention of anywhere), though they've had a few products referred to as an sql server in the generic sense.  And innodb is actually from InnoBase, which Oracle recently purchased which has it's future availability for MySQL in question.  "Active Directory [Microsoft's version of interactive world wide web applications]" -  Umm...huh?  Did you really mean to group those 2 together like that?  And it's actually the engine that determines speed, but optimizing the data structure does help.  
About Active Directory and World Wide Web; yep, that is exactly what Active Directory is; using httpd to tranport information either as a database, query or results.  IBM took credit for SQL, that's all I'm saying, even if two guys presented it to the Air Force so many years ago.  Microsoft has ever had a relationship with IBM, since both its mommy and daddy were IBM'ers, even if they only had majority shares of stock, so it was natural for their little boy to borrow things from Big Blue.  If Oracle hogs the engine, as it has done with past things, it will only make its bottom line closer to the real red, dead.

IBM is a borrower, so are most of the rest, they borrow from companies that actually develope the stuff, spend a few billion on advertising, eventuall either buy the old companies out or simple say "We invented it."  Even the Windows GUI was "borrowed."

The future of databases are in the httpd realm.  Why even bother with database programs when soon enough httpd will be fully database capable?

Lastly, we have a database that devolves the engine.  A mathmatical model which requires no sort and no algorithim.  A one clock fetch of anything and everything.  Called "presort," it works the same way the new hardware works with pre-processing; everything is prepared for a one clock fetch before it goes into the database, where all the time exists to be masked while the human is basically dawdling with it and the computer has nearly infinite time to presort.

I use many databases, MySQL and MSSQL being pretty much at the top of the list, by the way, so the use of both is sometimes good.
Active Directory itself has nothing to do with httpd or the web.  A front-end may access it via the web, but the two aren't directly related.  Active Directory is just a directory service.  And while IBM did take credit for SQL, that's still just SQL, not SQL Server, Microsoft's product.  

And the future of databases are not in the httpd realm. Website databases only comprise a small fraction of overall usage.  httpd, which I'm assuming you're referring to an http server daemon, is not heading towards a wholistic database product.  That's not it's purpose.  It's purpose is to serve information via the http protocol.  Where that information comes from, be it database or otherwise, is a backend issue.  

"A database that devolves the engine"?
The database engine is simply the code that manages the database.  You can't 'devolve' it as it's a non-specified entity.  Some are simple, some are vastly complex.  

"A mathmatical model which requires no sort and no algorithm"?  
So, it's a "mathmatical model" but no "algorithm"...hmm...

"A one clock fetch of anything and everything"? I don't know what your definition of a 'clock' is, but for this to be accurate, both the request and reply would have to take place simultaneously.   And even in a presorted database structure, there is still time taken to locate and return information.
A clock is simply the basic pulse that drives the processor.  The request and reply do take place simultaneously.  This was solved a long time ago in look-ahead logic and pre-prodessing.  If the definition, the variable name, is the address, there is no lookup time since the addressing is direct.  Even were it indirect reference, a pointer to a pointer, using barrel logic one can still resolve a value and fetch it at the same time the address is calculated [an associative memory function].  Often these are now pre-processed such that at the point the operation reaches the execution unit the answer is already on the top of stack.

Vector Mode and Vector Indirect Addressing employ this very technique.  It's an hardware design which does, in deed, devolve even the need for a database engine because it's designed into the hardware.

Both AMD and Intel use this technique, having discovered it from the original 64-bit machines.  It's so fast that Windows and third party drivers often stumble over it, which has shown up as a number of their bad address problems when they tried to cross breed between 32-bit and 64-bit systems.  The reply preceeds the request.  Seemingly impossible, yet exactly how this architecture can and does work, if not properly fine tuned by adjusting the slower software to the superfast hardware.  The request is timed to occur at the point of execution, but pre-processing and look-ahead logic make all the variables and answers available at the leading edge of the execution.  So it depends on how you define what you mean by a request; this hardware obviously has redefined the meaning, but never the fact that the request occurs at the point of execution, just which edge it occurs at.

Acitve Directory is a Distributed Component Object Model, basically meaning everything is an object, which is, in its raw form, considered just another file.  Yes, it provides the Directory Service function, but it also provides more than that as any Microsoft Management Console will show you.  Taking the properties of an object and altering them is certainly more than what a mere Directory Service does.  Which is why it's "Active" directory and not just Directory Service.

A better term might have been Interactive Directory Service.

And that is principally what Hyper Text Transport Protocol does.  True, it originally did it with only text, but it has far outgrown that simple role.  Now it interacts, as in Interactive Directory Service.  The end result is the same, it becomes the focal point for Administration.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.