http://studiostyl.es/schemes/wekeroad-ink
Posted by 패스맨

댓글을 달아 주세요

SET NOCOUNT ON

Programing/DB 2010.12.07 10:26 |

 SET NOCOUNT 옵션을 ON으로 설정하면

Transact-SQL 문의 영향을 받은 행 수를 나타내는 수가 반환되지 않음.

SET NOCOUNT OFF 로 설정하면 이 수가 반환됨.


SET NOCOUNT ON 으로 설정되어 있어도 @@ROWCOUNT함수는 업데이트됨.
저장 프로시저의 각 명령문에 대해 클라이언트에게 DONE_IN_PROC 메시지를 보내지 않음.
MS SQL Server 와 함께 제공된 유틸리티를 사용해 쿼리 실행시 (select, insert, update,delete등)
Transact-SQL 문 끝에 "nn개 행 적용됨" 메시지가 표시되지 않음.

실제 데이터를 많이 반환하지 않는 몇몇 명령문이 포함된 저장 프로시저의 경우 ,
이 유틸리티를 사용하면 네트워크 소통량이 크게 줄기 때문에 성능이 눈에 띄게 향상됨.

'Programing > DB' 카테고리의 다른 글

트랜잭션 로그 줄이기 (출처:http://www.sqlworld.pe.kr)  (0) 2010.12.08
SET NOCOUNT ON  (0) 2010.12.07
Posted by 패스맨

댓글을 달아 주세요

HANDLE WINAPI CreateMutex(
  __in_opt  LPSECURITY_ATTRIBUTES lpMutexAttributes,
  __in      BOOL bInitialOwner,
  __in_opt  LPCTSTR lpName
);


//중복 프로세스 실행 방지.
HANDLE hMu=CreateMutexA(NULL, FALSE,"abcde");
 if(GetLastError() == ERROR_ALREADY_EXISTS)
 {
  CloseHandle(hMu);
  MessageBoxA(NULL, "ABC","ABC",MB_OK);
  exit(1);
 }

bInitalOwner 값이 true 이면 뮤텍스를 생성한 스레드가 소유권을 가지게 되고
false 이면 가지지 않게끔 생성.

WaitForSingleObject, WaitForMultipleObjects 등의 함수 사용시
해당스레드가 소유권을 가지게 됨.
소유권은 ReleaseMutex를 호출하거나 해당 스레드가 종료 될때까지 유지됨.
이때 Wait함수 호출시 bInitalOwner가 TRUE일경우 소유권이 중첩되게 되고
ReleaseMutex를 한번 호출해서 중첩된 소유권이 모두 사라지지않는다...

그래서 bIntialOwner를 FALSE 로 생성하는게 편하다.

출처: http://sinarn.blog.me/130078038010 


Posted by 패스맨

댓글을 달아 주세요