当我们在查询分析器中执行查询时,会在下面返回消息:所影响的行数为N行.这是查询分析器给我们的查询结果做的统计,可以有助于我们比较快速的了解这次的查询结果行数.
但是在我们的存储过程中,很多这样的统计是没有意义的.而且,统计是要耗能的.数据量小,察觉不到,数据量大时,你会觉得哪里能省下一点点都好.当然,在我看来,养成一个良好的习惯很重要,没必要浪费的,哪怕是一丁点,也不要浪费.(~~勿以恶小而为之,勿以善小而不为)
那么,在查询时,如果让它不去统计呢?很简单:只要设置好:set nocount属性就好了,设为ON,表示不统计,设为OFF,表示统计.这个设置不会影响@@Rowcount值.
另外,它是针对数据库系统的所有用户而言的,并不是针对某个数据库或某个用户而言的,为了不影响他人的查询也为了不让自己迷糊这属性到底是开还是关,我们就要像编程时去取数据库资源和释放资源一样,一定要记得需要时开,不需要时关.
本文介绍如何在SQL查询中通过设置setnocount属性来避免不必要的行数统计,这对于提高存储过程的效率尤其有用。
384

被折叠的 条评论
为什么被折叠?



