적용 대상:SQL Server
Azure SQL 데이터베이스
Azure SQL Managed Instance
이 문서에서는 다음 항목의 메모리 내 OLTP 기능에 대해 지원되지 않는 데이터 형식을 소개합니다.
- 메모리 최적화 테이블
- 고유하게 컴파일된 Transact-SQL(T-SQL) 모듈
지원되지 않는 데이터 형식
다음 데이터 형식은 지원되지 않습니다.
주목할 만한 지원되는 데이터 형식
In-Memory OLTP 기능은 대부분의 데이터 형식을 지원합니다. 다음 목록은 명시적으로 주목할 가치가 있습니다.
| 문자열 및 이진 형식 | 자세한 정보 알아보기 |
|---|---|
| 이진 및 varbinary | 이진 및 varbinary |
| char 및 varchar | char 및 varchar |
| nchar 및 nvarchar | nchar 및 nvarchar |
SQL Server 2016(13.x)부터 이전 문자열 및 이진 데이터 형식의 경우:
개별 메모리 최적화 테이블에는 nvarchar(4000)와 같은 여러 개의 긴 열이 있을 수 있습니다. 길이가 실제 행 크기인 8,060바이트보다 더 많더라도 마찬가지입니다.
메모리 최적화 테이블에는 varchar(max)와 같은 데이터 형식의 최대 길이 문자열과 이진 열이 있을 수 있습니다.
LOB 및 기타 행 외부 열 식별
SQL Server 2016(13.x) 이상 버전에서 메모리 최적화 테이블은 단일 테이블 행이 8,060바이트보다 클 수 있는 행 외 열을 지원합니다. 다음 Transact-SQL SELECT 문은 메모리 최적화 테이블에 대해 행이 없는 모든 열을 보고합니다.
- 모든 인덱스 키 열은 행 내부에 저장됩니다.
- 비유니크 인덱스 키는 메모리 최적화 테이블에 nullable 열을 포함할 수 있습니다.
- 인덱스는 메모리 최적화 테이블에서와 같이
UNIQUE선언할 수 있습니다.
- 모든 LOB 열은 행에서 벗어난 곳에 저장됩니다.
-
max_length은 큰 개체(LOB)-1열을 나타냅니다.
SELECT OBJECT_NAME(m.object_id) AS [table],
c.name AS [column],
c.max_length
FROM sys.memory_optimized_tables_internal_attributes AS m
INNER JOIN sys.columns AS c
ON m.object_id = c.object_id
AND m.minor_id = c.column_id
WHERE m.type = 5;
기타 데이터 형식
| 기타 형식 | 자세한 정보 알아보기 |
|---|---|
| 테이블 형식 | 메모리 최적화를 사용하여 더 빠른 임시 테이블 및 테이블 변수 |