SQL Express 2008 - 对于其“限制”来说,合理的应用程序大小是多少?
不想听起来太愚蠢,SQL Express 是免费的,并且免费资源使其成为像我这样的初学者的不错选择。 我知道它有局限性(阅读其他帖子),但恐怕这些数字对我来说意义不大。
- 谁能告诉我它可以处理的用户数量的大概数字吗? 我考虑最多可能有 40-50 个用户,对一个简单的 8 表数据库执行 CRUD 操作。
我想我会大量查询我的数据库,以便我的用户可以生成报告,但我再次认为(希望)它们不会太复杂或要求很高 - 对用户名查询进行简单的选择和过滤。 显然,我将运行这些过去的 StackOverflow,看看它们是否可以更有效地编写(并查看有效的查询是什么样子)。
感谢所有的评论。 我更好地了解了需要考虑哪些事情来确保免费版本足够 - 良好的编码实践、高效的查询以及使用后关闭连接。
我相信我的用户会受到适度的打击,他们不应该生成太多数据,因为我将把我们捕获的数据限制在基础数据上。 稍后,如果我开发我的解决方案,我会向我的老板提到限制这一事实,他们将决定是否支付费用或保持限制。
对于问题中的信息有限以及“回答我自己的问题”选项表示歉意,但我认为这不是回复大家,而是最有效的。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
从您的问题来看,SQL Server Express 似乎可以满足您的需求。 SQL Server Express 真正的实际限制在于它的最大数据库大小(每个数据库 4GB)、可用内存的最大大小(1GB IIRC)以及它无法扩展以使用多个处理器来提高处理速度和功率。
就处理 40-50 个用户而言,对于应用程序的大小(从您在问题中暗示的情况来看),使用 SQL Server Express 与 SQL Server 的“完整”版本实际上没有(实际)区别。
只要您在创建 SQL Server 连接时使用良好的编码习惯(即打开连接、执行查询并尽快再次关闭连接)并利用内置连接池(如果您这样做,它将自动使用)每次连接时使用相同的连接字符串)应该没问题。
您可能遇到的最大问题是达到数据限制(每个数据库 4GB),而不是任何性能问题,但这显然在很大程度上取决于应用程序的性质以及用户将生成的数据量。
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.
我相信它的局限性在于它不使用多个处理器,而且它有内存限制——只有 1 GB。
没有 SQL Server 代理,最大数据库大小为 4gig。
也没有 sql profiler - 当你想弄清楚为什么你的数据库受到攻击时,这会让工作变得更加困难。
我不知道怎么会有人说 30-40 个用户就可以了,而不查看应用程序旁边的数据和查询。
很多人加速 sql 的主要方法是给它足够的内存,这样它就不必写入磁盘 - 这可能最终会成为你的瓶颈。
您所需要的只是一个错误的查询,您就可以让任何数据库崩溃。
http://en.wikipedia.org/wiki/SQL_Server_Express
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
它应该可以很好地处理负载。 40-50 个用户不算什么。
我最担心的是这些用户可以生成多少数据。 Express Edition 确实有相对较小的大小限制,因此如果您的应用程序使用数据库来处理文档存储之类的内容,您可能会遇到麻烦,并且可能需要考虑将这些文档移动到文件系统(甚至是单独的实例) 。
此外,快捷版的好处之一是它与付费版具有相同的底层引擎。 如果您发现您的增长超出了 Express 的处理能力,那么升级相对来说是轻松的(考虑到如果您增长了这么多,您希望收入能够与之匹配,并且现在可以负担付费版本)。
It should handle the load just fine. 40-50 users is nothing.
Where I'd be most worried is just how much data those users can generate. Express Edition does have a relatively small size restriction, and so if your application is using the database to handle something like document storage you could be in trouble, and might want to consider moving those documents to the file system (or even a separate instance).
Additionally, one if the nice things about express edition is that it is the same underlying engine as the for-pay editions. If you find you grow beyond what express can handle, the upgrade is relatively painless (considering that if you grow that much you've hopefully grown revenue to match and can now afford the for-pay edition).
请参阅:http://sqlblogcasts.com/blogs/ssqanet/archive/2008/03/28/sql-server-2008-express-features-and-variation-from-previous-version.aspx
See: http://sqlblogcasts.com/blogs/ssqanet/archive/2008/03/28/sql-server-2008-express-features-and-variation-from-previous-version.aspx
你可以使用 AnjLab 的免费 sqlexpress profiler 来分析 sqlexpress
u can use free sql express profiler from AnjLab to profile sql express