我正在翻新一个现有的ASP.Net Web应用程序,它有一个全功能的SQL 2005数据库作为其后端。通过功能完备的功能,我的意思是有很多事情(实际上几乎所有的CRUD操作)都是使用SP从数据库中处理的。SQL 2005的框架设计和实现的一般建议
所以,我的第一个问题是,基于像性能,可伸缩性和安全性这样的参数,SP良好的广泛用法?我也比较像的LINQ to SQL最新的东西问这个,动态查询生成框架,比如NHibernate的,等等。
的DB会在每个表处理几百万 记录,我们”已经一个 广泛查找/联过程(我 计划使用的看法吧)所以, 关注的是,是否值得继续在 SP的“CRUD”执行 - 显然,这也制约了一些 验证和业务约束 进入SP层(我试图 尽量减少它),但仍然如果它的价值 这三个主要参数 - 性能,可扩展性和安全性 权衡是可以承受的。
而一些俏皮话那些专家DBA和编程大师:
是示物理缓存@服务器上的任何地方吗?或者它们与典型的JOIN操作相同 (简而言之,我继续在表之间使用JOIN或创建这些JOIN的VIEW)
通过EXEC的T-SQL与SP中的编译SQL相比是否值得? 我的意思是显然他们提供了很大的灵活性,但是'编译SQL'的整个好处被破坏了? 它确实降低了复杂度,但它是否会影响性能\安全性(即SQL注入等)?框架级:将CRUD操作保留在SP中或者做一些框架,通过将它们拖动到应用程序中(如LINQ到SQL,nHibernate等)来承诺更好的折衷。我再次相信这一点是也与#2相关。
考虑到我提供的所有解释,哪个框架适合我的web-apps?后端是SQL Server 2005+。
欢迎任何额外的创意。感谢您分享你的知识。
你应该把它分解成多个问题。如有必要,您可以在问题之间进行关联。 – 2009-11-03 15:43:43