RT。请说明理由。Thanks……88分祝您发发~~~
解决方案 »
- DataPager和ListView实现换页,怎么实现单页数据绑定?
- IE7/8下 可以打开,IE6下打不开
- Petshop 里访问数据库的一小段代码,为什么要这样写?
- 收集.NET面试
- 求一RegularExpressionValidator控件,限制用户输入只能为6个数字,应该怎么写啊?
- 简单问题:进入论坛或asp.net的应用程序时,怎样让一个用户只能进一次!
- 急急急,设置iis虚拟目录-指向局域网另一台电脑上共享文件夹问题,请高手帮忙解决!
- SPY++
- AJAX问题 急!!!!!!!!!!!!!!!!
- 我这样子做,能不能得到上一页的表单数据呢?
- 正则中问号如何用unicode表达
- 在VS2005里 怎么获取sql语句的值!!谢谢了
而且很多时候,效率要比在代码中拼sql好
T-SQL相對速度慢,好維護.
自己平衡.
有些时候需要对数据库进行优化,那么针对不同的操作要写大量的存储过程,维护起来也不容易。
有的时候可以考虑适用参数化SQL语句。
当涉及到大量的数据来回操作,可以考虑用存储过程. 一般人使用存储过程主要是为了sql参数化, 减少被注入的可能.其实 写sql参数化语句也是一样可以的. 执行效率上, 我没发掘存储过程会快多少
大量的存储过程会给后期的移植带来一定的麻烦 比如 sql--->oracle ,
存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。用户可以被授予权限来执行存储过程而不必直接对存储过程中引用的对象具有权限。
存储过程可以强制应用程序的安全性。参数化存储过程有助于保护应用程序不受 SQL Injection 攻击。有关详细信息,请参阅 SQL Injection。
存储过程允许模块化程序设计。 存储过程一旦创建,以后即可在程序中调用任意多次。这可以改进应用程序的可维护性,并允许应用程序统一访问数据库。
存储过程是命名代码,允许延迟绑定。这提供了一个用于简单代码演变的间接级别。
存储过程可以减少网络通信流量。 一个需要数百行 Transact-SQL 代码的操作可以通过一条执行过程代码的语句来执行,而不需要在网络中发送数百行代码。
原因:当条件是参数的时候,sql server不能根据条件推断出最优的执行路径,因此存储过程不一定使用的最优执行路径来执行。但是执行SQL语句,作为条件的参数已经被确定,因此sql server能根据条件推断出最优执行路径,执行速度很有可能比存储过程快。总结:当你对数据库不是特别了解的时候,或者没有DBA参与你的项目的时候,能不用存储过程就不用
当你对数据库了解得很透彻,或者有资深DBA参与你的项目,这个时候用不用存储过程就看你自己了
存储过程在前几年,项目中使用很多,随着硬件和三层、多层结构地发展和LInq ,ORm等的使用
存储过程已很少使用了。 在防注入和参数化方便还可使用
哈,路过。