MySQL

해피데빙·2023년 6월 20일
0

https://heekim0719.tistory.com/410

MySQL 구조

  • 서버 엔진 : 클라이언트가 query 요청 시 쿼리 파싱과 스토리지 엔진 데이터를 용청하는 작업 수행
  • 스토리지 엔진 : 물리적 저장장치에서 데이터를 읽어온다. 데이터를 직접 다루기 때문에 엔진 종류마다 동작 원리가 다르다. (8가지)

MYSQL 스토리지 엔진 종류 및 특징
데이터베이스(스키마)를
파일 시스템 / 데이터 디렉터리 / 하위 디렉터리로 저장
테이블 생성 시 mysql은 테이블 이름과 같은 이름을 가진 .frm 파일을 만들고 그 안에 테이블 정의 정보를 저장합니다

mytable이라는 테이블을 만들 경우 mysqldms mytable.frm에 테이블 정의를 저장합니다
mysql은 데이터베이스 이름과 테이블 정의를 저장하는 데 파일 시스템 사용
대소문자 구분은 플랫폼에 따라 결정이 된다

mysql 인스턴스에서 테이블고

Storage Engine 비교

InnoDB

  • default 스토리지 엔진이다.
  • transaction-safe하고, 커밋과 롤백, 데이터 복구 기능을 제공한다.
  • row-level locking을 제공 (외에도 다양한 종류의 lock이 있긴하다)
    동시 처리에 효과적이나, deadlock이 발생할 수 있다. (참고 영상 : https://www.youtube.com/watch?v=FXzBRD3CPlQ&t=263s )
    clustered index에 저장하여 Primary Key 기반의 query의 I/O 비용을 줄인다.
    외래키를 허용해 무결성을 보장.
    단순 select 기능에서는 MyISAM에 비해 안좋은 성능을 보인다.

MyISAM

Archive

profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17

0개의 댓글