kjh00n의 기록저장소
데이터베이스 엔진 (Storage Engine) 본문
데이터베이스 엔진 (Storage Engine)
데이터베이스 내부에 존재하는 데이터를 검색, 수정, 접근 같은 처리를 진행할 때의 방식을 지정, 기능을 부여한다.
① InnoDB
● 트랜잭션 기능 지원
● 생성/수정/삭제 처리 능력이 좋다.
● 행(Row) 단위 Locking 기능이 있다.
● 동시 작업, 동시 처리 능력에 적합하다.
②MyISAM
● 트랜잭션 기능 미지원
● 조회/검색 처리 능력이 좋다.
● Table 단위 Locking 기능이 있다.
Locking 기능
● 여러 사용자가 동시에 같은 DB, Table에 접근하여 데이터를 처리하는 경우 데이터의 무결성을 보장하기 위한 기능
● 무결성은 데이터베이스에서 데이터가 정확하고 일관되며 신뢰할 수 있도록 유지되는 상태를 말합니다.
● Row 단위 Locking은 특정 사용자가 특정 Table의 특정 Row(행)에 접근하여 작업하고 있는 도중에 다른 사용자는 해당 Row(행)에만 접근이 불가능하고 다른 Row(행)에는 접근하여 작업이 가능하다.
● Table 단위 Locking은 특정 사용자가 특정 Table의 특정 Row(행)에 접근하여 작업하고 있는 도중에 다른 사용자는 해당 Row(행)뿐만 아닌 해당 Table 자체에 작업이 불가능하다.
테이블 엔진 조회
→ show engines;
InnoDB가 기본엔진으로 되어있다.
특정 테이블의 엔진 확인
→ show create table [Table명];
→ SELECT table_name,engine FROM information_schema.tables WHERE table_name='테이블명';
특정 DB안의 모든 Table의 엔진을 확인
→ use [DB명];
→ show table status;
→ SELECT table_name,engine FROM information_schema.tables WHERE table_schema=[DB명];
기존 엔진 변경 (임시 설정)
→ set global storage_engine=[엔진명];
입력하고 MariaDB를 종료하고 다시 접속하면 바뀌어져있다.
종료 후 재접속 ↓
기본 엔진 변경 (영구 설정)
→ /etc/my.cnf 접속하여 설정해주면 된다.
→ 설정해주고 systemctl restart mariadb 입력
Table에 설정되어 있는 엔진 변경 (영구 설정)
→ alter table [Table명] engine=[엔진명];
'DB' 카테고리의 다른 글
실습4 (0) | 2024.11.21 |
---|---|
JOIN (0) | 2024.11.21 |
데이터 사전, Schema (0) | 2024.11.21 |
문자 인코딩 (Character Encoding) (0) | 2024.11.21 |
실습3 (0) | 2024.11.20 |