MySQL vs. SQL Server vs. Oracle [closed] MySQL vs. SQL Server vs. Oracle [closed] oracle oracle

MySQL vs. SQL Server vs. Oracle [closed]


I think other commentators are quite right to highlight all of the extra non-core RDBMS abilities that are bundled with the commercial solutions.

Here is a matrix of Oracle editions and features that would be worth browsing just for an understanding of the "extra" features, particularly in the context of what it would cost to develop and support your own version of them (if that is even possible) on a product like MySQL: https://docs.oracle.com/cd/B28359_01/license.111/b28287/editions.htm#DBLIC116

For example, if you had a requirement that said: "Users shall be able to recover any previous versions of data that they have deleted/updated up to one week after the changes has been committed" then that implies a certain development overhead that I think would be much higher on a system that did not have a built-in feature like oracle's Flashback Query.


The pure RDBMS layers of Oracle and MSSQL offer mainly a more mature programmable environment than MySQL and InnoDB. T-SQL and PL/SQL can't be yet matched by MySQL stored procedures and triggers.

The other differences are syntactic and slight semantic differences which make things easier or harder (like top 500 versus limit/offset).

But the real killer is that there are a ton of integrated tools and services on top of the RDBMS layers of MSSQL (Reporting Services, Analysis Services) and Oracle (Data Warehousing, RAC) which MySQL doesn't have (yet).


MySQL is not free!

It is widely understood to be free, but if you are selling or distributing software packages that incorporate MySQL, it carries rather severe restrictions. If MySQL must be included in your software distribution (i.e. you are not using it only to serve remote clients), it is free only for Open Source projects or non-profit organizations. If you can manage to completely separate the database and drivers from the rest of your application, and force your customer to download and install MySQL on their own, you're probably okay.

Otherwise, it costs $2,000 / year for the "standard" edition, which is roughly comparable to the cost of licensing SQL Server.

Both are very good databases, but among SQL Server's advantages are:

  • A rich and expressive procedural language (T-SQL)
  • A better query optimizer, and better performance in write-intensive environments
  • A strong set of ancillary tools and capabilities, including a programming environment, an ETL tool (SSIS), dimensional modeling (SSAS), a reporting environment (SSRS), and a reasonably sophisticated job scheduler.
  • Interactive debugging of stored procedures and UDFs.
  • A relatively easy-to-use window-based management tool that lets you do most administration tasks in a "clicky" way.

Many people are ideologically opposed to using Microsoft tools, or being locked into a Windows environment, and I can understand that. But MySQL is NOT free for business usage, and that doesn't seem to be widely understood.

To review MySQL's licensing policy, take a look at it at their website: https://www.mysql.com/about/legal/licensing/oem/