1. SET ANSI_NULLS ON
SET ANSI_NULLS ON을 설정하면, SQL Server는 NULL 값 비교를 ANSI SQL 표준에 따라 처리한다.
이 모드에서는 NULL과의 모든 비교 (=, !=, <, >, <=, >=)가 UNKNOWN으로 평가된다.
즉, NULL 값은 다른 NULL과도 같지 않다고 간주된다 (NULL = NULL은 거짓).
예를 들어, SET ANSI_NULLS ON 상태에서 WHERE column = NULL 또는 WHERE column != NULL 쿼리는 어떤 결과도 반환하지 않는다.
대신 IS NULL 또는 IS NOT NULL을 사용해야 한다.
2. SET QUOTED_IDENTIFIER ON
SET QUOTED_IDENTIFIER ON을 설정하면, 문자열 상수를 따옴표 (')로, 식별자 (예: 테이블 또는 컬럼 이름)를 대괄호 ([])나 이중 따옴표 (")로 묶어야 한다.
이 설정이 활성화되면, 예를 들어 "MyTable"은 식별자 (테이블 또는 컬럼 이름 등)로 해석되고, 'MyTable'은 문자열 상수로 해석된다.
3. PAD_INDEX = OFF
PAD_INDEX 옵션은 인덱스의 중간 노드에 여유 공간을 두는 옵션이다.
OFF로 설정되면, 추가 여유 공간을 두지 않는다.
이는 인덱스의 리프 레벨에만 적용되며, 중간 레벨에는 적용되지 않는다.
4. STATISTICS_NORECOMPUTE = OFF
STATISTICS_NORECOMPUTE 옵션은 테이블이나 인덱스에 대한 통계를 자동으로 재계산하는 것을 제어하는 옵션이다.
OFF로 설정하면, SQL Server가 필요시 자동으로 통계를 업데이트한다.
5. IGNORE_DUP_KEY = OFF
IGNORE_DUP_KEY 옵션은 인덱스가 중복 키 값을 무시할지 여부를 결정한다.
OFF 상태에서는 중복 키 값이 삽입 시 오류를 발생시킨다.
ON으로 설정하면 중복 키 값을 무시하고 오류를 발생시키지 않는다.
6. ALLOW_ROW_LOCKS = ON
ALLOW_ROW_LOCKS 옵션은 인덱스에 대한 행 레벨 잠금을 허용한다.
이는 동시성과 성능에 영향을 줄 수 있으며, ON으로 설정하면 행 레벨 잠금이 가능하다.
7. ALLOW_PAGE_LOCKS = ON
ALLOW_PAGE_LOCKS 옵션은 페이지 레벨 잠금을 허용한다.
이 옵션 역시 동시성과 성능에 영향을 미치며, ON으로 설정하면 페이지 레벨 잠금이 가능하다.
'Skills > MsSQL' 카테고리의 다른 글
[MSSQL] MSSQL에서 날짜 계산의 마스터가 되는 방법 (0) | 2023.11.30 |
---|---|
[MSSQL] CONSTRAINT 제약 조건 관련 문법 정리 (0) | 2023.11.13 |
[MSSQL] SQL-Server 데이터 타입 총정리 (1) | 2023.11.13 |
MSSQL ROW_NUMBER()란? (0) | 2023.09.26 |
[Error] 연결된 서버 \"서버명\"의 OLE DB 공급자 \"공급자명\"에 대해 중첩 트랜잭션을 시작할 수 없습니다. (0) | 2023.09.21 |