sqlserver本身的存储过程,由操作系统分配内存;自己编写的存储过程执行结果会放到分配给sqlserver的内存池中,也就是存储缓冲区中,根据调度算法决定存在的时间。
编写存储过程的好处:存储过程是已经编译的sql语句,调用时不需要重新编译,比一般sql节省执行时间;有些业务逻辑比较复杂,写成存储过程可以提高维护的效率;有时候还会减少网络数据流量。

解决方案 »

  1.   

    它的节省时间体现在哪个方面?是执行复杂SQL上的节省还是所有的SQL都可以节省时间?比如简单的select或者批量的update还有就是它是否有类似索引的功能?索引的存在可以使得数据库记录的物理存放更为合理,因此可以加快操作的速度,而这个存储过程也有类似功能吗?
    如果没有的话,那么它节省的是不是仅仅编译SQL所需要的时间呢?
      

  2.   

    我不说了,你查一下 onlinebook
      

  3.   

    1 存储过程允许标准组件式编程
    存储过程在被创建以后可以在程序中被多次调用而不必重新编写该存储过程的SQL
    语句而且数据库专业人员可随时对存储过程进行修改但对应用程序源代码毫无影响因
    为应用程序源代码只包含存储过程的调用语句从而极大地提高了程序的可移植性
    2 存储过程能够实现较快的执行速度
    如果某一操作包含大量的Transaction-SQL 代码或分别被多次执行那么存储过程要
    比批处理的执行速度快很多因为存储过程是预编译的在首次运行一个存储过程时查
    询优化器对其进行分析优化并给出最终被存在系统表中的执行计划而批处理的Transaction-
    SQL 语句在每次运行时都要进行编译和优化因此速度相对要慢一些
    3 存储过程能够减少网络流量
    对于同一个针对数据数据库对象的操作如查询修改如果这一操作所涉及到的
    Transaction-SQL 语句被组织成一存储过程那么当在客户计算机上调用该存储过程时
    网络中传送的只是该调用语句否则将是多条SQL 语句从而大大增加了网络流量降
    低网络负载
    4 存储过程可被作为一种安全机制来充分利用
    系统管理员通过对执行某一存储过程的权限进行限制从而能够实现对相应的数据访
    问权限的限制避免非授权用户对数据的访问保证数据的安全我们将在14 章SQL
    Server 的用户和安全性管理中对存储过程的这一应用作更为清晰的介绍