티스토리 뷰
MSSQL 프로시저를 작성하다보면 최상단에 SET NOCOUNT ON이라고 선언하는 경우를 볼 수가 있습니다. 과연 SET NOCOUNT ON은 무슨 의미를 가지고 있는지 확인해보겠습니다.
SET NOCOUNT ON과 SET NOCOUNT OFF는 MSSQL에서 사용되는 옵션으로 실행된 쿼리에 대한 상태 메시지를 제어하는 역할을 합니다.
- SET NOCOUNT ON: 쿼리를 실행했을 때 영향을 받은 행의 수를 반환하는 메시지가 출력되지 않음.
- SET NOCOUNT OFF: 쿼리를 실행했을 때 영향을 받은 행의 수를 반환하는 메시지가 출력됨.
SET NOCOUNT ON 으로 옵션을 설정하면 성능 개선에 도움이 됩니다. 쿼리 실행 시 반환되는 메시지의 수가 줄어들기 때문에 네트워크 트래픽을 감소시키고 애플리케이션의 응답 시간을 향상시킬 수 있습니다. 그렇기 때문에 일반적으로 데이터베이스 프로시저나 대규모 트랜잭션 처리 시에 사용됩니다.
SET NOCOUNT OFF 옵션은 어떻게 사용할까요? SET NOCOUNT OFF 상태로 프로시저를 실행하면 쿼리의 영향을 받은 행 수를 확인할 수 있기 때문에 주로 디버깅이나 테스트를 할 때 도움이 됩니다.
다음은 SET NOCOUNT ON을 사용한 간단한 프로시저 샘플입니다.
CREATE PROCEDURE dbo.UpdateDeleteCustomer
@CustomerID INT,
@NewName NVARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
UPDATE Customers
SET CustomerName = @NewName
WHERE CustomerID = @CustomerID;
DELETE FROM Orders
WHERE CustomerID = @CustomerID;
END
기본적으로 SET NOCOUNT OFF가 기본 상태이기 때문에 일반적으로 프로시저 생성 시 최상단에 SET NOCOUNT ON을 선언해줘야 다음에 나오는 UPDATE나 DELETE 구문 실행 시 메세지가 출력되지 않습니다.
'MS-SQL Server > Query' 카테고리의 다른 글
MSSQL 랜덤으로 데이터 정렬하는 법 (NEWID()) (0) | 2023.06.28 |
---|---|
MSSQL에서 데이터 순서 지정하기 : ROW_NUMBER() (0) | 2023.06.21 |
MSSQL DB 복원 진행 확인 쿼리 (0) | 2023.06.19 |
MSSQL OFFSET-FETCH 구문을 이용한 페이징 쿼리 (3) | 2023.06.10 |
MSSQL CHARINDEX 함수로 특정 문자 유무 확인하는 법 (0) | 2023.06.08 |
MSSQL 프로시저, 함수 변경이력 확인 쿼리 (0) | 2022.06.15 |
MSSQL 테이블 용량, 건수 확인 쿼리 (0) | 2022.05.26 |
- Total
- Today
- Yesterday
- javascript
- 영국
- 비스페놀A
- URL
- 한글깨짐
- 인코딩
- 체크박스
- 로마
- MS-SQL
- Roma
- 플라스틱
- html
- 고성
- 런던
- iframe
- DATEDIFF
- jquery
- ASP.NET
- 근위병교대식
- 자바스크립트
- ASP
- favicon
- london
- 환경호르몬
- toFixed
- 태풍
- 이순신
- mssql
- 템즈강
- USB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |