Two women on a computer deciding reading about MySQL vs MS SQL Server – Which Database Reigns Supreme?

We’re looking at MySQL vs MS SQL Server – Which Reigns Supreme?Relational database management systems (RDBMS) form the backbone of enterprise IT. Data-driven business intelligence, analytics, and reporting workloads simply couldn’t exist without the support of a high-powered, high-performance relational database. Good databases can bring your enterprise IT to the next level—while bad databases can bring it to its knees.

The crucial question is then: which RDBMS is right for your business needs and objectives? When comparing relational database solutions, two names seem to come up more than any others: MySQL and Microsoft SQL Server.

In this post:

MySQL is an open-source RDBMS solution that was purchased by Oracle in 2008. As a component of the popular LAMP web application development stack, MySQL powers some of the world’s most highly visited websites, including Facebook, Twitter, and YouTube.

Microsoft SQL Server (MSSQL) is an RDBMS solution developed and maintained by Microsoft. First released in 1989, SQL Server is now available in many different versions with different feature sets, including Enterprise, Standard, and Express versions.

The question of MySQL vs. MS SQL Server is a tough one, and there’s no right answer for every organization. Below, we’ll go over the most important factors to consider when choosing between SQL Server and MySQL.

MySQL and Microsoft SQL Key Differences

The main differences between MySQL and Microsoft SQL Server are:

Operating SystemBoth MySQL and Microsoft SQL Server can be used on the most popular operating systems. MySQL offers native support for Microsoft Windows, Linux, and Mac OS X. Although it’s a Microsoft product, SQL Server is also compatible with Linux (ever since the release of SQL Server 2016), which means that it can also run on Mac OS X using Docker containers.
CostThe cost of MySQL and SQL Server ranges from “totally free” to “quite high,” depending on your needs and the number of machines you’re running on. Both solutions include a free trial version for limited use cases, as well as multiple paid tiers.
Cloud supportAll else being equal, both Microsoft SQL Server and MySQL enjoy a comprehensive range of cloud solutions. Each of the “big 3” cloud providers (Amazon Web Services, Microsoft Azure, and Google Cloud Services) provide support for both MySQL and SQL Server.
Performance Both SQL Server and MySQL can run high-performance workloads, although third-party independent testing suggests that SQL Server is the winner here.
ToolsetBoth SQL Server and MySQL include feature-rich client applications (SSMS and MySQL Workbench, respectively). However, SSMS comes with more features, including security, reporting, analysis, and a powerful execution plan visualizer to find and fix bottlenecks.
Language supportAll of the most popular programming languages are supported by MySQL and SQL Server. If you’re using a .NET language such as C# or Visual Basic, it makes more sense to use SQL Server, since both are part of the Microsoft ecosystem.

MySQL vs. Microsoft SQL Server: Operating System

When selecting an enterprise-grade database, most companies have already invested a great deal of time, money, and expertise in their IT infrastructure—including their choice of operating system. This means that whether you go with MySQL or SQL Server, your choice of database solution needs to mesh well with your existing workflow.

Fortunately, both MySQL and SQL Server run on virtually all major operating systems. MySQL is traditionally associated with Linux as part of the famed LAMP stack (Linux, Apache, MySQL, PHP). However, it also offers full-fledged support for Windows and Mac OS X, as well as other Unix-based operating systems.

SQL Server, meanwhile, is developed by Microsoft and was originally written for Windows. In recent years, however, Microsoft has made strides in embracing the open-source community, which includes providing support for both Linux and Mac OS X. The most recent versions of SQL Server run on Linux natively, and will run on Mac OS X within a Docker container.

The bottom line: The right call here depends on what operating system your company is already using. Both platforms support Windows and Linux, although there are certain “home court advantages” to each one.

Using SQL Server makes a little more sense if you’re already a Windows and .NET shop. On the other hand, if you use Linux and Python/Java/PHP, MySQL is probably the better choice here.

Did you know you can generate a full-featured, documented, and secure MySQL and MS SQL Server REST API in minutes using DreamFactory? Sign up for our free 14 day hosted trial to learn how! Our guided tour will show you how to create an API using an example MySQL database provided to you as part of the trial!

Create a Database API Now

MySQL vs. Microsoft SQL Server: Cost

Cost is always a factor when making software purchasing decisions. An enterprise-grade database might be (and often should be) one of your biggest IT expenses. The good news is that both MySQL and SQL Server offer a free tier for users with less demanding IT requirements.

MySQL Community Edition is the free, open-source version of MySQL, which means that it’s a great start to get your feet wet and start learning the platform. It’s more than capable of running smaller production loads, but you’ll have to pay more for additional support.

SQL Server’s free offering comes in two different flavors:

  • SQL Server Developer includes all of the features of SQL Server, but cannot be used in production. According to Microsoft, SQL Server Developer is a “full-featured version of SQL Server software that allows developers to cost-effectively build, test, and demonstrate applications.”
  • SQL Server Express is a freely available version of SQL Server, including for production use. However, Express comes with some technical restrictions in place that are unsuitable for large-scale deployments. Microsoft describes it as a “free entry-level database that’s ideal for learning, as well as building desktop and small server data-driven applications of up to 10 gigabytes.”

It’s always tempting to save money by trying to make your IT needs fit the limitations of the free tier. Yet if your database is mission-critical, this may actually be costing you money in the long run. For large-scale deployments, paying for advanced features such as monitoring, backup, and fast support is almost certainly worth the cost.

Already bypassed the limitations of the free tier? The cost of MySQL and SQL Server depends on how powerful of a database you need, and what sort of support you’re looking for.

MySQL Cost

For a more complete MySQL feature set (as well as support from Oracle), you’ll need to shell out some bucks. The various MySQL editions will run you anywhere from $2,000 to $10,000 per server annually.

MySQL comes in three different tiers: Standard Edition, Enterprise Edition, and Cluster CGE. Choosing between them largely depends on the complexity and scale of your data needs.

All three MySQL tiers include 24×7 Oracle Premier Support, as well as essential features such as MySQL Database Server, MySQL Connectors, and MySQL Replication. However, only Enterprise Edition and Cluster CGE include advanced features such as monitoring, backup, security, and high availability.

Microsoft SQL Server Cost

According to Microsoft’s pricing page for SQL Server 2019, you can pay anywhere from $899 (standard edition, server licensing) to $13,748 (enterprise edition, two cores). There’s a wide discrepancy in pricing here, and your business needs will dictate how much power you need.

The bottom line: Once again, the winner here depends on your business requirements. Both solutions offer a free tier, and both have pricing schemes with multiple tiers. Without more specific information, the best thing to do is to speak with the sales department of each solution to get a final quote based on your specific needs.

MySQL vs. Microsoft SQL Server: Cloud Support

Cloud computing has revolutionized the face of enterprise IT. According to RightScale’s 2019 “State of the Cloud” report, 94 percent of companies now use the cloud in some form or fashion.

As it stands today, the “big 3” cloud providers are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform. Each provider offers a robust suite of services, including storage and computing—and, of course, SQL databases.

The cloud revolution is so impactful that it’s also affected the first two factors in this article: operating system and cost. Many cloud providers have fully managed database services, in which the provider handles the operating system and server complications for you. Customers can subscribe to a “pay as you go” model, giving them more flexibility and control over plan costs. This shift to cloud computing has somewhat diminished the importance of factors such as operating system and cost, while emphasizing other considerations such as performance and toolset.

Here’s how both offerings stack up in terms of the cloud.

MySQL Cloud Support

All three of the biggest cloud providers support MySQL:

What’s more, all three services claim a rich feature set, including high availability, easy scalability, robust security, and pay-as-you-go pricing.

Like the cost of the database itself, the price of MySQL cloud solutions also depends on your circumstances—there’s no “one size fits all” answer here. The best approach might be to test out a MySQL environment in each of the three clouds and run some tests that are typical of your business operations. This should give you a rough estimate of how the different costs will shake out.

It’s worth mentioning that Oracle (the owner of MySQL) also features a cloud offering for MySQL, Oracle MySQL Cloud Service. This might be worth exploring due to Oracle’s “native” support of MySQL.

However, a SQL database is only one piece of your IT architecture landscape—you still need storage, computing, and security services. Oracle’s not currently a market leader in these domains, which means that the Oracle cloud may be a riskier choice for hosting MySQL.

It’s also worth noting that the “big 3” cloud providers all offer virtual machine services for running your own MySQL instances. This option gives you more control over your database, but requires more expertise (and is also more expensive).

SQL Server Cloud Support

Like MySQL, each of the “big 3” cloud providers has a Microsoft SQL Server offering:

There’s an interesting twist here: Microsoft, one of the major cloud providers, is also the creator of SQL Server. While AWS and Google both offer strong alternatives, there’s a sense that Microsoft has a “home-court advantage” in this respect.

As with MySQL, you can also pay to host Windows virtual machines in the cloud and self-host SQL Server this way. Of course, this also comes with the same expertise requirements and cost concerns.

The bottom line: Although either solution works as a cloud offering, SQL Server is the winner here: the one-two punch of SQL Server and Microsoft Azure is hard to beat. If you’ve already invested in MySQL, or you’re already using another cloud provider, then it’s probably best to stick with what you know. In a greenfield project, however, the SQL Server/Microsoft Azure choice should be highly compelling.

Did you know you can generate a full-featured, documented, and secure MySQL and MS SQL Server REST API in minutes using DreamFactory? Sign up for our free 14 day hosted trial to learn how! Our guided tour will show you how to create an API using an example MySQL database provided to you as part of the trial!

Create a Database API Now

MySQL vs. Microsoft SQL Server: Performance

Database performance is crucial for any software application. If your database doesn’t respond quickly and efficiently, the entire system is slowed down, causing unacceptable delays to the end user. Poor database performance directly harms key business metrics such as user experience and revenue.

However, database performance is also heavily dependent on an immense number of variables. Slight differences in workloads can dramatically skew results, while minor tweaks can see major improvements. In other words, a well-designed database is worth its weight in gold.

MySQL and SQL Server both tout extensive performance and scaling capabilities. When it comes down to cold, hard facts, however, SQL Server seems to have the advantage. According to one study, SQL Server consistently beat MySQL in comparison testing involving high volumes of SELECT, INSERT, UPDATE, and DELETE queries.

Also note that MySQL is considered to be Oracle’s “entry-level” database. For top-shelf performance needs, Oracle will likely steer you toward their flagship database offering, Oracle Database. On the other hand, SQL Server is Microsoft’s flagship database offering.

The bottom line: It’s not a slam dunk, but SQL Server’s better numbers and flagship status give it the edge here.

MySQL vs. Microsoft SQL Server: Toolset

No database is an island—whether you choose MySQL or SQL Server, you’ll need a good toolset to work with it. Both solutions offer front-end clients specifically for this purpose.

MySQL’s client application is MySQL Workbench, which runs on Windows, Linux, and Mac OS X. MySQL Workbench offers several important database management tools, including:

  • Database connection and management
  • SQL editing and execution
  • Database and schema modeling
  • Performance monitoring and query statistics

SQL Server’s client application is SQL Server Management Studio (SSMS). Note that SSMS is only available on Windows, unlike SQL Server itself. However, Microsoft provides an extension for the Visual Studio Code editor to execute SQL from a Linux machine.

SSMS has a more robust feature set than MySQL Workbench, including:

  • Extensive database management tools
  • A robust set of security, reporting, and analysis services
  • A powerful execution plan visualizer for identifying performance bottlenecks
  • Integrated source control
  • Real-time activity monitoring, including filtering and automatic refresh

The bottom line: Both toolsets offer the basics: the ability to execute SQL, as well as view and manage databases. However, SSMS for SQL Server comes out on top here, with features that please novice users and seasoned DBAs alike. The execution plan visualizer, in particular, can pay for itself many times over.

MySQL vs. Microsoft SQL Server: Language Support

As relational databases, both MySQL and Microsoft SQL Server use SQL to interact with their schema and data. The SQL dialect is slightly different between these two solutions, but not enough to influence your decision one way or another. In particular, SQL Server uses the proprietary T-SQL extension to SQL, which enables concepts such as procedural programming, local variables, and string and data processing functions.

However, MySQL and SQL Server differ when it comes to the runtime languages that interface with the database. Both solutions support connections with the major programming languages: C#, Java, PHP, C++, Python, Ruby, Visual Basic, Delphi, Go, R, and more. As long as your language can make a connection using ODBC (Open Database Connectivity), you should be good to go.

If you’re using a .NET language like C#, F#, or Visual Basic, then SQL Server will have a home-court advantage. Microsoft wrote the ADO.NET library, which facilitates access to databases and data services, specifically for SQL Server.

One final note: SQL Server offers the additional (and controversial) mechanism of invoking .NET code from a stored procedure. This can add all sorts of functionality within your database—but it also makes it easy for you to shoot yourself in the foot. Proceed with caution.

The bottom line: Both MySQL and SQL Server support the most common programming languages, although SQL Server has the advantage for .NET languages.

MySQL vs. Microsoft SQL Server: Which Database is Right for You?

After this long, drawn-out MySQL vs. SQL Server comparison, which database is the best for you? There’s a lot of information to unpack here, and the right answer is still “it depends.” Here’s the best summary we can give:

  • If you’re a Linux shop already using parts of the LAMP stack, then MySQL will fit in nicely.
  • If you’re a Windows shop already using .NET and the Microsoft ecosystem, then SQL Server is the obvious choice.
  • If you’re looking to make a clean start, the evidence leans slightly toward SQL Server. Microsoft is building momentum in the cloud with Azure, while also embracing open-source and ecosystems like Linux. What’s more, SQL Server has a better toolset and arguably better performance.

Whether you go with SQL Server or MySQL, your database needs to connect smoothly with the rest of your IT infrastructure. In particular, you’ll need an intermediate API (application programming interface) layer that connects your database to the front-end user interface.

The good news is that DreamFactory has built a system that automatically generates code to connect your back-end database with your front-end GUI. With a bit of configuration and a few clicks of a mouse, DreamFactory turns your database into a production-ready REST API—and even generates the documentation alongside it.

DreamFactory supports all kinds of SQL databases: MySQL, SQL Server, and a long list of others. Want to learn more? Check out this video on how the DreamFactory platform works, and get ready to breathe a big sigh of relief.

Leave a Reply