欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » SQLServer教程 » 正文

热门阅读

使用存储过程优化Sql执行速度

创建时间:2011年08月23日 23:14  阅读次数:(4801)
分享到:
记得刚开始学习Sql的时候,只知道存储过程能够提高查询速度,却不知道存储过程为什么能够提高查询速度,以为能写出随心所欲的存储过程真是太了不起了。转眼就过了好几年了,现在又想回头来整理一下存储过程的优点。

我们在使用Transact-SQLt时,一般可以用以下两种方法来存储与执行Sql命令。

1,将Sql写在程序中,程序执行时向Sql Server发送sql语句及执行命令。
2,将Sql存在Sql Server中,创建执行存储过程来处理复杂结果.

其实,我们可以将任何一组sql语句都作为存储过程存起来,只是在实际项目中,这种方法太过于呆板。

下面我们切入正题:
存储过程的基本概念。
存储过程是Transact-SQL语句的预编译集合,这样语句在一个名称下存储并作为一个编译过后的单元处理。正因为是预编译过的,所以在执行的时候就省去了编译的时间。

在使用存储过程有以下几点优势:
1,允许模块化程序设计:
一个功能只需要创建一次,就可以被任意次调用,达到重用的目点,而且可以独立于程序修改(当然,这点有利也有弊,利当然是修改起来简单,省去程序编译发布等过程,弊当然就是安全性问题了,因为存储过程都是明文,也就是都暴露在用户的眼下,容易被修改。)

2,能够提高执行速度:
前面有讲到,数据库引擎在创建存储过程的时候就会对其进行分析和优化,并预编译好,而且可以在首次执行该过程后使用该过程在内存中的版本,这样就省去了不IO的时间。而如果是运程程序中的Transact-Sql,它都是从客户端发送,并且每次都要编译和优化。

3,减少网络流量
将数百行的Sql代码放到一个单元中,在执行时,只需要发送一个执行单元名称的命令,而不需要发送数百行的代码,这在网络环境中,也可以省下不少时间。

以上只是本人对存储过程的一些看法,当然在具体的使用过程中,存储过程的作用远远不及这些,这都需要到具体的项目中去体会了。
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 75+33=? 的结果(结果是:108)
结  果: