SmartSoft 技术管理系统

SmartSoft技术管理系统、查询系统(Smart Query)、文档管理、产品结构(BOM)管理、工艺管理、消息管理(SmartBox)

博客园 首页 新随笔 联系 订阅 管理
       存储过程是MSQL数据库应用程序的核心,好的存储过程能使程序运行的更快,充分发挥T-SQL的功能。下面是我的学习总结,一方面方便自己使用,另一方面方便大家交流。如果大家有好方法,请跟贴,我会定时整理并不断追加。
一、SQL执行性能方面:
      1.1、将储存过程的所有者作为前缀指定给存储过程名称,以避免SQL Server通过搜索其系统编目获得该信息。如 EXEC dbo.MyProcedure 性能优于 EXEC MyProcedure。
      1.2、确定储存过程命名规则时,最好不使用sp_前缀,因为储存过程加上sp_前缀后,SQL SERVER就会对它进行特殊处理。首先查找master数据库,查找与之相匹配的存储过程名称,如果没有找到,搜索当前数据库以查找匹配的存储过程,使用不同的命名规则就可以避免不必要的额外处理开销。
      1.3、SET NOCOUNT。每个T-SQL语句执行完后,都会通过网络向客户反馈受该语句影响的行数,存储过程当然也不例外。这在执行大量T-SQL语句的大型存储过程时或大量用户同时执行时,不必要的网络通信开销就会很大。
              将SET NOCOUNT选项设置为ON,就可以取消反馈,以提高存储过程的效率。
      1.4、在可能的情况下使用 OUTPUT 参数。通过使用 OUTPUT 参数返回标量数据,可以略微提高速度并节省少量的处理功率。在应用程序需要返回单个值的情况下,请尝试此方法,而不要将结果集具体化。
      1.5、提供返回值。使用存储过程的返回值,将处理状态信息返回给进行调用的应用程序。将一组返回值及其含义标准化,并一致地使用这些值。这会使得处理调用应用程序中的错误更加容易,并向最终用户提供有关问题的有用信息。



posted on 2007-04-15 11:02  SmartSoft 技术管理系统  阅读(674)  评论(0)    收藏  举报