MariaDB 스터디 · · 2 min read
메모리 스토리지 엔진
특징
메모리 스토리지 엔진을 사용하는 테이블의 데이터는 디스크를 사용하지 않고 메모리 내에만 저장되고 엑세스 된다.
메모리 스토리지 엔진을 사용하는 테이블의 최대 총 용량은
max_heap_table_size시스템 서버 변수를 넘어설 수 없다.메모리 스토리지 엔진을 사용하는 테이블의 행이 삭제되었을 때 자동으로 메모리를 해제하지 않는다.
장단점
| 종류 | 내용 |
| 장점 | 디스크를 사용하지 않고 메모리만 사용하여 처리속도가 월등히 빠르다. |
| 단점 | 메모리에만 데이터를 적재하여 MariaDB가 종료되면 데이터가 모두 제거된다. |
| 영구적인 데이터 저장 목적으로는 적합하지 않다. |
사용처
데이터 유실이 상관없는 임시 테이블
크기가 작고 고정적인 데이터를 가진 테이블
생성
CREATE TABLE tbl_memory(
idx INT,
val VARCHAR(10)
)engine=MEMORY max_rows=20
주의 사항
고정 길이 컬럼만 지원
컬럼의 최대 크기는 최대한 작게 ( 최대 크기 만큼 메모리를 차지 )
max_rows 옵션을 통한 row 개수 제한
LOB (Large Object ) TEXT 타입 미지원
- 큰 사이즈의 데이터를 다루는 데이터 타입 미지원
결론
메모리 스토리지 엔진은 크기가 작고 고정적인 테이블 또는 임시 테이블에 사용하는 것을 권장한다.
추가
임시 테이블
max_heap_table_size시스템 변수에 설정된 크기 이하면메모리 스토리지 엔진의 테이블로 생성max_heap_table_size시스템 변수에 설정된 크기 초과면Aria 스토리지 엔진의 테이블로 생성
performance_schema
MariaDB의 성능을 진단할 수 있는 데이터를 저장
메모리 스토리지 엔진의 테이블로 생성하여 저장
메모리 과다점유 위험성