开发者

choose MySQL or choose SQL Server Express (free)?

I need to develop a mid-sized Inernet facing web site (e.g. less than 1000 users) for information sharing and simple workflow. Since limitation of budget, I am choosing free database. And since the developers are familiar with .Net, C#/ASP.Net is the choosen programming language. I am using Windows Server 2008 x64 edition as OS.

I want to know in my situation, pros and cons about using My开发者_Go百科SQL or SQL Server Express (free)? I think conclusion may be different to different people/perspective, but learning the facts (pros and cons) will be benefit for me to make decision.

thanks in advance, George


If SQL Server Express will meet your needs without running into its limitations, and your developers/admins are most familiar with MS SQL, then use it.

Otherwise, use MySQL.

In these situations, the overarching strategy is usually to use what you know, as long as it will meet your technical needs.

The limitations of SQL Server Express are:

  • Limited to one processor at a time (although it can use all cores of a multicore processor)
  • Can use a max of 1GB of RAM for buffering data
  • Max database data size of 4GB (10GB in 2012)
  • SQL Profiler not included (but can be used with inexpensive developer edition tools)
  • Job scheduling not provided (IIRC)
  • Import/Export not provided (IIRC)

SQL Server Express still uses the same database engine as every other version, and it's not performance-limited beyond the above restrictions.


Considering you're committing to a Microsoft stack for you code and operating system, SQL Server Express feels like a natural fit. You'll likely be able to find better community support around an end to end Microsoft stack versus a hybrid stack including MySQL.

SQL Server Express has some limitations but if your project reaches the scale where that becomes an issue, hopefully it will be generating enough traffic/revenue to support an upgrade to a non-free SQL Server product.


From the MySQL vs MS SQL Server:

MySQL can run on Windows without complaint but performs better on UNIX and UNIX-like systems. Additional performance gains can be had by using MySQL on a 64-bit processor.

Note that some of the statements in that section may be considered a bit disingenuous - such as "MySQL has proven to be faster in its basic table format, MyISAM" because MyISAM doesn't appear to support things like "Foreign key constraints", those little things that help make a relational database relations self enforcing.

So as with many things, there are many factors to consider when talking about performance.


Depends on how heavy the load will be on the server and size of the database. SQL Server Express has limitations including:
- 1GB RAM max (this alone may be a deciding factor)
- 1 CPU
- 4GB database size limit

There's a full list of SQL Server features by edition here With these 3 points alone, you should be able to tell instantly whether you have to rule out SQL Server Express from the word go.


Why not consider postgresql? It's free and reliable ADO.Net provider drivers are available:

e.g. http://www.devart.com/dotconnect/postgresql/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜