본문 바로가기
SQL SERVER

sql sever 메모리 최적화 테이블 만드는 방법 따라하기 ( Memory Optimized table)

by jiahn_21 2022. 4. 27.
메모리 최적화 테이블이란? 

메모리 기반의 테이블며 디스크가 아닌 메모리에 데이터가 저장되어 있어, 속도가 빠른 특징을 갖고 있습니다. 

또한 hash index, nonclustered index 를 지원하며 관련 내용은 따로 포스팅 할 예정입니다. 

 

데이터베이스 설정 변경 
ALTER DATABASE AdventureWorks2016CTP3 
SET COMPATIBILITY_LEVEL = 130;​

설치되어 있는 sql server의 compatibility_level 확인 후 필요시 변경해줍니다. 

 

MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT 설정 
ALTER DATABASE AdventureWorks2016CTP3 
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON;

 

파일 그룹을 생성
ALTER DATABASE AdventureWorks2016CTP3 
ADD FILEGROUP AdventureWorks2016CTP3_mod CONTAINS MEMORY_OPTIMIZED_DATA;

 

파일그룹에 메모리 최적화 파일 추가 (경로와 DB명칭은 각자의 상황에 따라 변경한다) 
ALTER DATABASE AdventureWorks2016CTP3 
ADD FILE (name='AdventureWorks2016CTP3_mod1', 
filename='c:\data\AdventureWorks2016CTP3) 
TO FILEGROUP AdventureWorks2016CTP3_mod

 

메모리 최적화 테이블 생성
USE AdventureWorks2016CTP3
CREATE TABLE dbo.InMemoryExample
    (
        OrderID   INTEGER   NOT NULL   IDENTITY
            PRIMARY KEY NONCLUSTERED,
        ItemNumber   INTEGER    NOT NULL,
        OrderDate    DATETIME   NOT NULL
    )
        WITH
            (MEMORY_OPTIMIZED = ON,
            DURABILITY = SCHEMA_AND_DATA);

 

참고 : https://www.red-gate.com/simple-talk/databases/sql-server/t-sql-programming-sql-server/beginner-guide-to-in-memory-optimized-tables-in-sql-server/ 

 

댓글