728x90
반응형
두서없이 생각나는데로 적는거라 비슷한 함수여도 순서가 뒤죽박죽이니 감안하고 보시길..
1. SET NOCOUNT ON;
- 사용자에게 몇개의 행이 적용되었는지 알려주지 않을 때 사용. 아주 약간 성능 향상에 도움이 된다
2. RAISERROR(에러 메시지, 심각도, 상태)
- 심각도 : 1~10:일반 사용자 정보, 11~16:사용자 정의 오류, 17~25:시스템오류
- 심각도를 10 이하로 주면 로그만 쌓이고 프로시저 수행에는 아무런 영향을 미치지 않음
- 11이상을 주면 실제로 오류가 발생되고, 실행된 Application에도 오류를 발생시킨다.
- 20~25를 주면 클라이언트 연겨리 종료되고, 오류 및 Application Log 오류에 기록된다.
- 어떤 위치에서 발생했는지 구분하기 위해 0~255사이의 정수를 넣기도 한다.
3. 임시 테이블 (#TABLE)
- 명시적으로 DROP TABLE을 하거나 해당 세션이 종료될때 소멸한다. 복잡한 로직(JOIN)을 처리할 때 자주 사용된다.
4. 전역 임시 테이블(##TABLE)
- 명시적으로 DROP TABLE을 하거나 서버 전체 세션이 종료될 때 소멸한다. 여러 세션 간의 임시 데이터를 저장할 때 주로 사용되고, 동시에 사용될 때 주의해야한다.(LOCK)
5. 테이블 변수 (@TABLE)
- 선언된 프로시저 안에서만 존재하고 소규모 데이터 처리에 적합하다. 주로 반복(WHILE 등), 조건 처리(EXISTS)등에 주로 사용된다.
728x90
반응형
'IT > MSSql' 카테고리의 다른 글
[MS-SQL] CONVERT 스타일 특징 (0) | 2025.05.30 |
---|---|
[MS-SQL] 속도 개선 방법 정리 (0) | 2025.05.22 |
[MS-SQL] 자료형 정리 (0) | 2025.05.14 |
[MS-SQL] char vs varchar / nchar vs nvarchar 차이 (0) | 2025.05.14 |
[MSSQL] 쿼리 튜닝 - 임시 테이블 (0) | 2025.04.24 |