MySQL 에서 흔히 볼 수 있 는 저장 엔진 의 우열

5524 단어 MySQL메모리 엔진
모든 저장 엔진 보기
우 리 는show engines명령 을 통 해 우리 의 my sql server 가 어떤 엔진 을 제공 하 는 지 볼 수 있 습 니 다.

show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
InnoDB 메모리 엔진
InnoDB 는 사무 적 데이터베이스 의 최 우선 엔진 으로 사무 안전 표(ACID)를 지원 하 며 줄 잠 금과 외부 키 를 지원 합 니 다.MySQL 5.5.5 이후 이 노 DB 는 기본 저장 엔진 으로 사용 된다.InnoDB 의 주요 특성 은:
  • InnoDB 는 MySQL 에 제출,스크롤 백,붕괴 회 복 력 을 갖 춘 사무 안전(ACID 호 환)저장 엔진 을 제공한다.InnoDB 는 줄 에 잠 겨 있 고 SELECT 구문 에서 Oracle 과 유사 한 비 잠 금 읽 기 를 제공 합 니 다.이 기능 들 은 다 중 사용자 배치 와 성능 을 증가 시 켰 다.SQL 조회 에 서 는 InnoDB 형식의 표를 다른 MySQL 의 표 형식 과 자 유 롭 게 혼합 할 수 있 으 며,심지어 같은 조회 에서 도 혼합 할 수 있다
  • InnoDB 는 거대 한 데 이 터 를 처리 하기 위해 디자인 된 성능 이 무 겁 습 니 다.그의 CPU 효율 은 디스크 를 기반 으로 하 는 다른 관계 데이터 베이스 엔진 에 필적 할 수 없습니다
  • InnoDB 저장 엔진 은 MySQL 서버 와 완전히 통합 되 었 고 InnoDB 저장 엔진 은 메 인 메모리 에서 자신의 버퍼 를 유지 하여 데이터 와 색인 을 캐 시 했다.InnoDB 는 표 와 색인 을 논리 표 공간 에 존재 합 니 다.표 공간 은 여러 개의 파일(또는 원본 디스크 파 티 션)을 포함 할 수 있 습 니 다.이 는 MyISAM 표 와 달리,예 를 들 어 MyISAM 표 에 표 마다 분 리 된 파일 이 존재 한다.파일 크기 가 2GB 운영 체제 로 제한 되 더 라 도 InnoDB 표 는 모든 크기 일 수 있 습 니 다
  • InnoDB 는 외부 키 의 완전 성 제약(FOREIGN KEY)을 지원 합 니 다.테이블 에 있 는 데 이 터 를 저장 할 때 테이블 마다 메 인 키 순 으로 저 장 됩 니 다.테이블 이 정 의 될 때 메 인 키 를 명시 하지 않 으 면 InnoDB 는 줄 마다 6B 의 ROWID 를 생 성하 고 이 를 메 인 키 로 합 니 다
  • InnoDB 는 고성능 을 필요 로 하 는 많은 대형 데이터베이스 사이트 에 사용 된다
  • InnoDB 는 디 렉 터 리 를 만 들 지 않 습 니 다.InnoDB 를 사용 할 때 MySQL 은 MySQL 데이터 디 렉 터 리 아래 에 ibdata 1 이라는 10MB 크기 의 자동 확장 데이터 파일 과 ib 라 는 두 개의 이름 을 만 듭 니 다.logfile 0 과 iblogfile 1 의 5MB 크기 의 로그 파일 입 니 다.
  • MyISAM 메모리 엔진
    마 이 ISAM 은 ISAM 기반 저장 엔진 으로 확장 된다.그것 은 웹,데이터 저장 및 기타 응용 환경 에서 가장 자주 사용 되 는 저장 엔진 중의 하나 이다.MyISAM 은 비교적 높 은 삽입,조회 속 도 를 가지 고 있 지만 사 무 는 지원 되 지 않 습 니 다.MySQL 5.5.5 이전 버 전에 서 는 MyISAM 이 기본 저장 엔진 이 었 다.MyISAM 의 주요 특성 은 다음 과 같다.
    4.567917.큰 파일(63 비트 파일 길이)은 큰 파일 을 지원 하 는 파일 시스템 과 운영 체제 에서 지 원 됩 니 다4.567917.삭제,업데이트 및 삽입 작업 을 혼합 하여 사용 할 때 동적 사이즈 의 줄 에 더 적은 조각 이 생 긴 다.이것 은 인접 한 삭 제 된 블록 을 합병 하고 다음 블록 이 삭제 되면 다음 블록 으로 확장 하여 자동 으로 완성 합 니 다4
  • 각 MyISAM 표 의 최대 색인 수 는 64 로 재 컴 파일 을 통 해 변경 할 수 있 습 니 다.색인 마다 가장 큰 열 수 는 16 개 입 니 다
  • 4.567917.가장 큰 키 길 이 는 1000 B 이 고 컴 파일 을 통 해 바 꿀 수 있다.키 길이 가 250 B 가 넘 는 경우 1024 B 가 넘 는 키 가 사 용 됩 니 다
  • BLOB 와 TEXT 열 은 색인 할 수 있 습 니 다
  • NULL 값 은 색인 열 에 허 용 됩 니 다.이 값 은 키 당 0-1 바이트 입 니 다
  • 4.567917.모든 디지털 키 값 은 높 은 바이트 로 우선 저장 되 어 더 높 은 색인 압축 을 허용 합 니 다시계 당 AUTOINCREMENT 열의 내부 처리.MyISAM 은 INSERT 와 UPDATE 작업 을 위해 이 열 을 자동 으로 업데이트 합 니 다.이로써 AUTOINCREMENT 열 이 더 빠 릅 니 다(최소 10%).시퀀스 항목 의 값 이 삭 제 된 후에 다시 사용 할 수 없습니다4.567917.데이터 파일 과 색인 파일 을 다른 디 렉 터 리 에 놓 을 수 있 습 니 다4.567917.모든 문자 열 에 서로 다른 문자 집합 이 있 을 수 있 습 니 다
  • VARCHAR 가 있 는 시 계 는 길 이 를 고정 하거나 동적 으로 기록 할 수 있 습 니 다
  • VARCHAR 와 CHAR 열 은 64KB 에 달한다
  • MyISAM 엔진 으로 데이터 베 이 스 를 만 들 면 3 개의 파일 이 생 성 됩 니 다.파일 의 이름 은 표 의 이름 으로 시작 합 니 다.확장 자 는 파일 의 형식 을 대표 합 니 다.frm 파일 저장 표 정의,my d 는 데이터 파일 을 대표 하고 my i 는 색인 파일 을 대표 합 니 다.
  • 메모리 엔진
    MEMORY 메모리 엔진 은 표 의 데 이 터 를 메모리 에 저장 하여 다른 표 의 데 이 터 를 조회 하고 참조 하 는 데 빠 른 접근 을 제공 합 니 다.MEMORY 의 주요 특성 은:
  • MEMORY 표 의 표 마다 32 개의 색인 이 있 고 각 색인 16 열 과 500 B 의 최대 키 길이 가 있 습 니 다
  • MEMORY 메모리 엔진 은 HASH 와 BTREE 색인 을 실행 합 니 다
  • 4.567917.하나의 MEMORY 표 에 유일한 키 가 아 닐 수 있 습 니 다
  • MEMORY 표 는 고정된 기록 길이 형식 을 사용 합 니 다
  • MEMORY 는 BLOG 나 TEXT 열 을 지원 하지 않 습 니 다
  • MEMORY 지원 AUTOINCREMENT 열 과 NULL 값 을 포함 할 수 있 는 열 에 대한 색인..
  • MEMORY 표 는 모든 클 라 이언 트 간 에 공유 합 니 다(다른 모든 비 TEMPORARY 표 와 같 습 니 다)
  • MEMORY 표 내용 은 메모리 에 존재 합 니 다.메모 리 는 MEMORY 표 와 서버 가 조회 처리 할 때 남 은 시간 에 만 든 내부 표 가 공 유 됩 니 다
  • MEMORY 표 의 내용 이 더 이상 필요 하지 않 을 때 MEMORY 표 에 사 용 된 메모 리 를 방출 하려 면 DELETE FROM 또는 TRUNCATE TABLE 을 실행 하거나 표 전 체 를 삭제 해 야 합 니 다(DROP TABLE 로)
  • 이상 은 MySQL 에서 흔히 볼 수 있 는 저장 엔진 의 우열 에 대한 상세 한 내용 입 니 다.MySQL 저장 엔진 의 우열 에 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!

    좋은 웹페이지 즐겨찾기