Tell me more ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have web application that will be similar to forums. I plan to have thousands of users on this application, and I wonder if I can use SQL Server Express.

Here is the list of it's limitations:

SQLExpr limitations

Setting CPU usage aside, I wonder if this 1 GB of memory usage is enough. Can anyone tell me if this might be enough, or maybe give me some examples when this 1 GB would be enough?

share|improve this question
2  
There are too many variables to answer your question. For instance, what type of workload do you expect on database? How big is the database? What is your definition of acceptable performance? – Thomas Stringer Feb 6 at 15:41
Hey! I recognise that graphic! – Paul White Feb 6 at 18:43

closed as not a real question by Thomas Stringer, Mark Storey-Smith, Paul White, Leigh Riffel, Jon Seigel Feb 7 at 3:01

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.

2 Answers

You would be better of going wit the SQL Server 2012 web edition . The web edition would support your website better as it grows. The 1GB limit will only hurt you down the road.

share|improve this answer

Without a lot more details the only real answer is "it depends".

In later versions of SQL Express I believe that the governor tweaks present in MSDE (the precursor to "express edition" back in the SQL2000 days) have now all been removed so other than the maximum cores limit there is nothing to consider here.

The only rule of thumb that we can give with this little information with regard to memory is that if your database (or databases in total if you have more then one on the same server) is considerably smaller than 1Gb then the memory limit will not affect you as SQL Server is unlikely to ever use more than the limit while running that database.

As your database size approaches the limit you need to judge what your applications normal working set is as a subset of that data footprint - you can run much larger databases than the memory limit efficiently enough if most of the data is usually not used regularly (so is not normally needed to be kept in RAM for fast access) and your database design has good index provision (so you are never table scanning large structures where an index scan would otherwise do, or index scanning where an index seek would otherwise do) and your code it well designed with respect to being able to use the indexes well (i.e. be careful with functions in JOIN and WHERE clauses that would otherwise be able to make use of index structures).

Data sizing can be a very complex beast. If your database starts small then you can probably just go with Express and monitor efficiency as the data grows. If you have speed problems while the data is still small then the problem is likely in your data structure design or code design rather than in SQL Express' artificial limits. If you have a good idea of how much data you will need to support in X months time, generate sample data of that size (and a set several times that size) and run performance benchmarks against your app so see if it copes (and if not, to see if any problem is SQL Express or a problem you can fix in your structures/code). That can be time consuming but is the only real way to get a relatively unqualified answer to this sort of question.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.