WEB开发网
开发学院软件开发VC 为.net开发者提供的一份关于存储过程的评论 阅读

为.net开发者提供的一份关于存储过程的评论

 2006-07-23 11:17:50 来源:WEB开发网   
核心提示: 一旦你编写好了你的存储过程,你就可以点击鼠标右键并选择【运行存储过程】来测试你的这个存储过程了,为.net开发者提供的一份关于存储过程的评论(7),入门技巧如果你开始为你的应用程序创建存储过程,这里有一些小技巧,SQL Server在线参考手册,Visual Studio文档,请记住它们,

一旦你编写好了你的存储过程,你就可以点击鼠标右键并选择【运行存储过程】来测试你的这个存储过程了。

入门技巧

如果你开始为你的应用程序创建存储过程,这里有一些小技巧,请记住它们,这会使你的存储过程较好的运行并与其它程序密切配合。

使用SET NOCOUNT ON 语句

在默认设置中存储过程会返回SQL语句执行所影响的行数。如果在你的程序中不需要这些信息(大多数程序都不会需要),可以使用SET NOCOUNT ON语句来停用此项功能。跟据你的存储过程中影响数据行的语句的多少,这么做可以减少服务器与客户端的信息往返次数。这也许算不上什么大问题,但在一个数据传输负载较高的程序中它便会明显降低性能。

create procedure test_MyStoredProc @param1 int
 as
set nocount on

不要使用SP_前缀 SP_前缀是为系统级的存储过程所保留的。数据库引擎总是首先在master数据库中寻找有SP_前缀的存储过程。这就意味着首先会在master数据库中搜寻一遍,之后才会到达需要执行的存储过程那里,这就会花掉一些时间。更糟的是,如果在系统级的存储过程中存在与你的存储过程同名的,那你的存储过程将永远不会被执行。

尽量少使用可选参数

在大量使用可选参数时请考虑清楚。如果你执行存储过程时为其输入了一组不需要的参数,这种额外的工作会影响到存储过程的性能。在你使用条件控制编码以获得不同的参数组合时你会遇到这种得问题,而这会浪费你的时间并增加你出错的机会 。

需要时使用输出参数

你可以使用输出参数来返回所需要的数据,这可以加快你的开发速度并减少处理的麻烦。当你的程序需要返回一个单值时,你可以采用这个方法来取代传统的实例化一个结果集的方法。你还可以在适当的时候通过输出参数返回一个游标,我们将在以后的文章深入讨论游标与基于数据集的操作。

提供一个返回值

使用存储过程的返回值,将处理的状态信息返回给调用此存储过程的应用程序。在你的开发小组内,标准化一系列的返回值及它们所代表的意义,并统一使用它们。这样做不仅可以更容易地处理调用中发生的错误,而且还可以为你的最终用户提供有用的信息以解决他们的问题。

先写DDL,再写DML

在存储过程中当数据操纵语言(DML)先于数据定义语言(DDL)被执行时,SQL Server将会重新编译存储过程,因为数据操纵语言引用了被数据定义语言改变了的对象。发生这种情况是因为,SQL Server需要统计由数据定义语言导致的对象改变,用来创建数据操纵语言的执行计划。如果你在一开始便计划好了数据定义语言,那么只需要重新编译一次。如果你将两者混合写在一起,将会强迫存储过程重新编译多次,而这将极大影响程序的性能。

永远要写注释

你也许不会再维护这些代码。但是可以肯地说,将来其他人会来维护,他们需要知道代码的功能。 

总结

存储过程是否对你有用,我希望你已经有所感觉。它是SQL Server免费提供的工具,所以当它对你的应用程序环境和维护有所帮助时,你确实应该采用它。以上我提供的介绍信息可以帮助你开始使用存储过程。SQL Server在线参考手册,Visual Studio文档,当然还有MSDN上那些深入的信息可以推动你继续前进。

上一页  2 3 4 5 6 7 

Tags:net 开发者 提供

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接