프로그래밍/MSSQL
프로시저 사용시 기본선언문 (SET NOCOUNT ON, 트랜잭션격리수준)
쇠주는참이슬
2016. 2. 20. 14:53
프로시저 사용시 아래 두가지 를 같이 선언해서 사용하자.
1. 프로시저 실행시 서버의 부하를 주게될수 있는 결과 메시지를 OFF
-> 프로시저를 생성하고 실행하면 "(N개 행이 영향을 받음)" 이라는 메시지가 노출된다.
테이블에 SELECT, INSERT, UPDATE, DELETE 등 트랜잭션이 발생한 결과를 사용자에게 알려주는 기능이지만 서버에 부하를 줄 수 있다고 한다.
SET NOCOUNT ON;
2. 트랜잭션 격리수준 설정
-> SELECT 문장을 수행하는 경우 해당 데이터에 Shared Lock이 걸리지 않는 수준, 따라서 어떤 사용자가 A라는 데이터를 B라는 데이터로 변경하는동안,
다른 사용자는 B라는 아직 완료되지 않은 데이터를 읽을 수 있다.
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;