T. *_*ter 3 c# asp.net stored-procedures sql-server-2008
我正在将现有的.NET 2.0,SQL Server代码库迁移到.NET 4.0,SQL Server 2008环境.
设计模式是对数据库的所有应用程序调用都通过存储过程.因此,get[object name]
对于大多数select语句,需要创建或更改存储过程.
所以这种架构对我来说的缺点已经很明显:不方便.
这种高度强制的存储过程设计有哪些优点?(现在使用.NET 4.0而不是使用ORM).
实际上 - 与流行的看法相反 - 性能不是存储过程的优势之一 - 不再是.使用参数正确编写的"内联"SQL查询同样快,SQL Server(首次使用之前)"编译"一次,并且只要任何存储过程都保留在SQL Server的过程高速缓存中.
但存储过程确实有优势 - 我想提到两个主要的优点:
用户从基础表中屏蔽.这也意味着:它是您安全系统中的另一层.你的数据库用户并不需要访问表-因此,他们将不能够引起对这些表中的任何悲伤,或者-由通过Excel或Access或其他工具访问它们.仅这一点就可以带来巨大的好处.
第二点是拥有一层存储过程可以给你的DBA一个优化的地方.您作为开发人员只调用存储过程 - 而DBA可以调整它们,对它们进行微调,使它们运行得更快.只要参数列表和返回结果集保持不变 - 您作为前端开发人员甚至不会注意到(至少不会以负面方式!)
归档时间: |
|
查看次数: |
268 次 |
最近记录: |