Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL Express 2008 - what's a reasonable application size for its 'limitations'?

Without wanting to sound too stupid, SQL Express is free and the free resources make it a good choice for a beginner like me. I know it has limitations (read other posts) but the figures mean little to me I'm afraid.

  • Can anyone give me ball park figures on the number of users it can handle? I'm looking at possibly 40-50 users maximum, carrying out CRUD operations to a simple 8 table database.

I imagine I'll be querying my DB a lot so my users can generate reports, but again I wouldn't think (hope) they are to complicated or demanding - simple select and filter on user name queries. Obviously I'll run these past StackOverflow to see if they can be written more effectively (and to see what an effective query looks like).


Thanks for all the comments. I've got a better understanding of what things I need to consider to make sure that the free version is enough - good coding practices, efficient queries and closing connections down after use.

I believe my users will it hit moderately, and they shouldn't generate much data as I'm going to limit what we capture to the basics. Later on should I develop my solution I'll mention the fact of limitations to my bosses and it'll be their decision whether to pay or keep nit limited.

Apologies for the limited information in the question, and the 'answering my own question' option but rather than reply to you all I thought this was most effective.

like image 213
RocketGoal Avatar asked Mar 01 '23 13:03

RocketGoal


2 Answers

From your question, it sounds as though SQL Server Express would be fine for your needs. The real, practical limitations of SQL Server Express are in it's maximum database size (4gb per database), it's maximum size of usable memory (1GB IIRC) and it's inability to scale to use multiple processors for improved processing speed and power.

As far as handling 40-50 users, there is really no (practical) difference in using SQL Server Express than a "full-blown" version of SQL Server, for the size of your application (from what you imply in your question).

So long as you use good coding practice when creating SQL Server connections (i.e. opening your connection, performing a query, and closing the connection again ASAP) as well as taking advantage of the built-in connection pooling (which will get used automatically if you use the same connection string each time you connect) you should be fine.

The biggest issue you're likely to run into is hitting the data limit (4GB per db) rather than any performance issues, but this obviously depends heavily on the nature of your application and the quantity of data your users will generate.

like image 167
CraigTP Avatar answered Apr 25 '23 01:04

CraigTP


I believe the limitations are that it doesnt use multiple processors and that it has ram limitations - only 1 gig.

there is no SQL Server Agent and the max database size is 4gig.

there is also no sql profiler - which will make work harder when you want to figure out why your db is getting thrashed.

I have no idea how anyone can say 30-40 users will be fine without looking at the data and queries alongside the application.

the big way that a lot of people speed sql up is to give it enough ram so that it never has to write to disk - this will probably be your bottleneck in the end.

All you need is one bad query and you can bring any database to its knees.

http://en.wikipedia.org/wiki/SQL_Server_Express

like image 31
John Nicholas Avatar answered Apr 25 '23 02:04

John Nicholas