• mysql 데이터베이스 엔진 = 스토리지 엔진(storage engine)
MySQL에는 그 특성에 따라 여러 종류의 데이터베이스 엔진(스토리지 엔진 이라고도 함)이 존재
가장 많이 알려져 있고 또 가장 많이 사용하고 있는 엔진은 MyISAM과 InnoDB가 있음
기존 MyISAM이 MySQL의 기본 엔진이었다면 MySQL 5.5부터는 InnoDB가 기본 엔진으로 변경됨
InnoDB 특징
트랜젝션 지원
빈번한 쓰기/수정/삭제 시 처리 능력 향상
디스크, 전원 등의 장애 발생시 복구 성능 향상
동시처리가 많은 환경에 적합
Row 단위 Locking
MyISAM 특징
상대적으로 높은 성능, 읽기 위주의 요청에 유리
MyISAM은 트랜젝션 지원이 안됨
여러 SQL문을 실행한 후 commit 또는 rollback 하는 기능이 없음
테이블 단위로 Lock이 걸리기 때문에 테이블에 두 가지 이상의 데이터를 동시에 insert/update할 수 없음
데이터가 거의 고정되어 있고 읽기가 많이 발생하는 경우에는 그 성능 효과를 충분히 발휘할 수 있음
테이블 단위 Locking
• 테이블 엔진 조회
mysql> show table status;

mysql> select table_name,engine from information_schema.tables where table_schema=‘DB명';

• DBMS 에서 지원하는 엔진 종류 확인
mysql> show engines;
기본 엔진 확인 가능

• 기본 엔진 변경(임시 설정)
시스템 재 부팅 시 설정 원복 됨
mysql> set global storage_engine=InnoDB;

mysql 재 접속 후 확인

• 기본 엔진 변경(영구 설정)
mysql 설정 파일에서 변경(# vim /etc/my.cnf)
[mysqld] 설정 안에 default-storage-engine=<엔진명> 추가

서비스 재시작
systemctl restart mariadb
• 테이블 엔진 변경
mysql> alter table <테이블명> engine=<엔진명> ;

'Linux > SQL' 카테고리의 다른 글
| [DBMS] 유니온 Union (0) | 2021.11.30 |
|---|---|
| [DBMS] JOIN 조인 (0) | 2021.11.30 |
| [DBMS] 문자 인코딩 확인하고 설정하기 (Character Encoding) (0) | 2021.11.29 |
| [DBMS] 데이터베이스 사전 (Database Schema) (0) | 2021.11.29 |
| [DBMS] DCL 명령어 정리 (계정 확인/생성/삭제 & 권한 확인/생성/삭제) (0) | 2021.11.29 |