다음을 통해 공유


In-Memory OLTP에 지원되는 데이터 형식

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed Instance

이 문서에서는 다음 항목의 메모리 내 OLTP 기능에 대해 지원되지 않는 데이터 형식을 소개합니다.

  • 메모리 최적화 테이블
  • 고유하게 컴파일된 Transact-SQL(T-SQL) 모듈

지원되지 않는 데이터 형식

다음 데이터 형식은 지원되지 않습니다.

주목할 만한 지원되는 데이터 형식

In-Memory OLTP 기능은 대부분의 데이터 형식을 지원합니다. 다음 목록은 명시적으로 주목할 가치가 있습니다.

문자열 및 이진 형식 자세한 정보 알아보기
이진varbinary 이진 및 varbinary
charvarchar char 및 varchar
ncharnvarchar 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;

기타 데이터 형식

기타 형식 자세한 정보 알아보기
테이블 형식 메모리 최적화를 사용하여 더 빠른 임시 테이블 및 테이블 변수