메모리 내 OLTP에 지원되는 데이터 형식
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
이 문서에서는 다음 항목의 메모리 내 OLTP 기능에 대해 지원되지 않는 데이터 형식을 소개합니다.
메모리 최적화 테이블
고유하게 컴파일된 T-SQL 모듈
지원되지 않는 데이터 형식
다음 데이터 형식은 지원되지 않습니다.
주목할 만한 지원되는 데이터 형식
메모리 내 OLTP의 대다수 기능은 대부분의 데이터 형식을 지원합니다. 다음 몇 가지는 명시적으로 주목할 가치가 있습니다.
문자열 및 이진 유형 | 자세한 정보 |
---|---|
binary 및 varbinary* | binary 및 varbinary(Transact-SQL) |
char 및 varchar* | char 및 varchar(Transact-SQL) |
nchar 및 nvarchar* | nchar 및 nvarchar(Transact-SQL) |
SQL Server 2016부터 이전 문자열 및 이진 데이터 형식의 경우:
개별 메모리 최적화 테이블에는 길이가 8060바이트 이상의 실제 행 크기보다 더해지더라도 여러 개의 긴 열
nvarchar(4000)
이 있을 수 있습니다.메모리 최적화 테이블에는 최대 길이 문자열과 같은 데이터 형식
varchar(max)
의 이진 열이 있을 수 있습니다.
LOB 및 기타 행 외부 열 식별
SQL Server 2016부터 메모리 최적화 테이블은 단일 테이블 행이 8060바이트보다 클 수 있는 행 외 열을 지원합니다. 다음 Transact-SQL SELECT 문은 메모리 최적화 테이블에 대한 모든 행 외부 열을 보고합니다. 다음 사항에 유의합니다.
- 모든 인덱스 키 열은 행에 저장됩니다.
- 이제 메모리 최적화 테이블에서 고유하지 않은 인덱스 키에 NULLable 열을 포함할 수 있습니다.
- 인덱스는 메모리 최적화 테이블에서 UNIQUE로 선언할 수 있습니다.
- 모든 LOB 열은 행에서 벗어난 곳에 저장됩니다.
- max_length가 -1이면 LOB(Large Object) 열을 나타냅니다.
SELECT
OBJECT_NAME(m.object_id) as [table],
c.name as [column],
c.max_length
FROM
sys.memory_optimized_tables_internal_attributes AS m
JOIN sys.columns AS c
ON m.object_id = c.object_id
AND m.minor_id = c.column_id
WHERE
m.type = 5;
기타 데이터 형식
기타 형식 | 자세한 정보 |
---|---|
테이블 형식 | 메모리 최적화 테이블 변수 |
참고 항목
메모리 내 OLTP에 대한 Transact-SQL 지원
메모리 최적화 테이블에서 SQL_VARIANT 구현
메모리 최적화 테이블의 테이블 및 행 크기
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기