SET NOCOUNT ON 왜 쓰나요?


안녕하세요.
고코더 입니다. 



오늘은 MSSQL에서 많이 사용하는
SET NOCOUNT ON 에서 알아보려고 합니다.
보통 회사에서 만든 프로시저에는 저 명령문이 들어가 있습니다.
성능향상을 위해서 인데요.

1
2
SET NOCOUNT ON -- 결과 메세지를 출력하지 않는다. 
SET NOCOUNT OFF -- 결과 메세지를 출력한다. 
cs



SET NOCOUNT ON 


 1. 만약 그냥 update 문을 사용하면 이렇게 각행마다. 변경된 사항이 메세지로 출력합니다. 
이 메세지는 당연히 데이터베이스 리소스이고 성능을 잡아먹습니다. 
하지만 데이터베이스에서 개발을 하거나 테스트시에는 이걸 OFF로 하여 얼마나 어떤게
변경되고 있는 확인할 때 유용합니다.



SET NOCOUNT OFF


 2. 하지만 해당 명령문을 입력하고 실행하게 되면 
1
2
3
4
5
6
7
8
9
10
11
SET NOCOUNT on
GO
DECLARE @cnt INT
SET @cnt = 0
WHILE @cnt < 10
BEGIN
       update GOCODER_DATA set blog =  @cnt
          where seq = @cnt;
          SET @cnt = @cnt + 1
    
END
cs

 3. 이렇게 결과만 알려주고 각행에 입력,수정,삭제시에 완료 메세지를 뿌려주지 않습니다.


마무리

빅데이터를 수정할때는 곡 on을 하시고













댓글을 달아 주세요