MySQL의 스토리지 엔진 및 일반적으로 사용되는 스토리지 엔진 소개

목차

1. 스토리지 엔진이란 무엇입니까?

2. 스토리지 엔진 유형 쿼리

3. 일반적인 스토리지 엔진과 차이점:

4. 스토리지 엔진을 요약합니다.


데이터베이스 저장소 엔진은 데이터베이스의 기본 소프트웨어 구성입니다.DBMS(데이터베이스 관리 시스템)는 데이터 엔진을 사용하여 데이터를 생성, 쿼리, 업데이트 및 삭제합니다.다른 저장소 엔진은 서로 다른 기능을 가지며 데이터베이스에서 서로 다른 기능을 반영합니다.

1. 스토리지 엔진이란 무엇입니까?

" 스토리지 엔진 " 하면 간접적으로 " 검색 엔진 "이 떠오릅니다 . 브라우저를 다루는 사람들은 기본적으로 검색 엔진이 무엇인지 알고 있습니다. 검색 엔진이 무엇인지 간단히 소개하고 스토리지 엔진을 소개하면 이해가 더 잘 될 것입니다.

검색엔진 :  일정한 전략에 따라 특정 컴퓨터 프로그램을 이용하여 인터넷에서 정보를 수집하고, 정보를 정리·가공하여 이용자에게 검색 서비스를 제공하고, 이용자가 검색한 관련 정보를 이용자에게 보여주는 시스템을 말한다. (일반 언어로: Baidu에서 "엔진"을 검색하면 Baidu는 스파이더 크롤러를 수행하여 검색한 키워드를 기반으로 온라인을 선택하고 최종적으로 검색 페이지에 결과를 표시합니다. 이것이 검색 엔진이 하는 일입니다.)

검색 엔진에 대한 기본적인 이해를 바탕으로 스토리지 엔진에 대해 계속 이야기해 보겠습니다. 먼저 공식 정의가 어떻게 되는지 살펴보십시오.

스토리지 엔진(공식):   데이터베이스의 기본 소프트웨어 조직이며 데이터베이스 관리 시스템(DBMS)은 데이터 엔진을 사용하여 데이터를 생성, 쿼리, 업데이트 및 삭제합니다. 서로 다른 스토리지 엔진은 서로 다른 스토리지 메커니즘, 인덱싱 기술, 잠금 수준 및 기타 기능을 제공하며, 서로 다른 스토리지 엔진을 사용하여 특정 기능을 얻을 수도 있습니다. 이제 다양한 데이터베이스 관리 시스템이 다양한 데이터 엔진을 지원합니다. MySql의 핵심은 플러그인 스토리지 엔진입니다.

자가 이해 스토리지 엔진: 예를 들어 브라우저 검색 엔진에는 많은 유형이 있습니다.키워드에 따라 검색하고 표시하며 일부는 빠르고 일부는 효율적이며 장단점이 있습니다. 그런 다음 MySQL 스토리지 엔진은 기반입니다. 어떤 스토리지 엔진 메커니즘을 사용할지 결정하기 위해 생성, 쿼리, 업데이트 및 삭제할 데이터베이스의 데이터 이름에서 알 수 있듯이 스토리지 엔진은 데이터를 운영할 때 데이터베이스의 효율성과 보안을 향상시키는 것입니다.

2. 스토리지 엔진 유형 쿼리

Dos 명령을 사용하여 MySQL이 사용하는 엔진을 확인합니다. 명령의 출력은 다음과 같습니다(제가 사용하는 소프트웨어: Navicat Premium):

반환 결과:

그래서 제가 사용하는 스토리지 엔진은 MyISAM입니다.

3. 일반적인 스토리지 엔진과 차이점:

MyISAM

트랜잭션을 지원하지 않으며 외래 키도 지원하지 않습니다. 특히 액세스 속도가 빠른 응용 프로그램, 트랜잭션 무결성에 대한 요구 사항이 없거나 SELECT 및 INSERT 기반 응용 프로그램은 기본적으로 이 엔진을 사용하여 테이블을 만들 수 있습니다.
각 MyISAM은 디스크에 3개의 파일로 저장되며 파일 이름과 테이블 이름은 동일하지만 확장자는 다음과 같습니다.

1. .frm(스토리지 테이블 구조)

2. MYD(MYData, 스토어 데이터)

3. MYI(MYIndex, 스토리지 인덱스)


  MyISAM은 ISAM 스토리지 엔진을 기반으로 하며 이를 확장합니다. 웹, 데이터 웨어하우징 및 기타 애플리케이션 환경에서 가장 일반적으로 사용되는 스토리지 엔진 중 하나입니다. MyISAM은 삽입 및 쿼리 속도가 빠르지만 트랜잭션을 지원하지 않습니다.

 

이노디비

InnoDB는 강력한 트랜잭션 스토리지 엔진으로 많은 인터넷 회사에서 사용되어 왔으며 사용자가 대용량 데이터 스토리지를 운영할 수 있는 강력한 솔루션을 제공합니다. 내 컴퓨터에는 MySQL 버전 5.6.13이 설치되어 있고 InnoDB가 기본 스토리지 엔진으로 사용됩니다. InnoDB는 또한 행 수준 잠금 및 외래 키 제약 조건을 도입했으며 다음과 같은 상황에서 InnoDB를 사용하는 것이 이상적인 선택입니다.

일반적으로 InnoDB는 트랜잭션 지원이 필요하고 동시 읽기 빈도가 높은 경우 좋은 선택입니다.

 

메모리

MEMORY는 MySQL의 특별한 종류의 스토리지 엔진입니다. 메모리에 저장된 것을 사용하여 테이블을 생성하고 데이터는 모두 메모리에 있습니다 . 이러한 기능은 이전 두 가지 기능과 상당히 다릅니다.

MEMORY는 기본적으로 해시 인덱스를 사용합니다. 속도는 B-tree 인덱스를 사용하는 것보다 빠릅니다. 물론 B-tree 인덱스를 사용하고 싶다면 인덱스 생성 시 지정하면 된다.

MEMORY는 메모리에 데이터를 저장하고 메모리에 예외가 있으면 데이터에 영향을 미치기 때문에 거의 사용되지 않습니다. 다시 시작하거나 종료하면 모든 데이터가 사라집니다. 따라서 MEMORY 기반 테이블은 수명 주기가 짧고 일반적으로 일회성입니다.

 

4. 스토리지 엔진을 요약합니다.

InnoDB : 트랜잭션 처리 지원, 외래 키 지원, 충돌 복구 기능 및 동시 제어 지원. 트랜잭션 무결성 (예: 은행) 에 대한 요구 사항이 상대적으로 높고 동시성 제어 (예: 티켓 판매)경우업데이트 및 삭제가 빈번한 데이터베이스가 필요한 경우트랜잭션 커밋 및 롤백을 지원하기 때문에 InnoDB를 선택할 수도 있습니다. 

MyISAM : 빠른 데이터 삽입, 적은 공간 및 메모리 사용량. 테이블이 주로 새 레코드를 삽입하고 레코드를 읽는 데 사용되는 경우 MyISAM을 선택하면 높은 처리 효율성을 얻을 수 있습니다. 응용 프로그램의 무결성 및 동시성 요구 사항이 상대적으로 낮은 경우에도 사용할 수 있습니다.

MEMORY : 모든 데이터는 메모리에 있으며 데이터 처리 속도는 빠르지만 보안성이 높지 않습니다. 빠른 읽기 및 쓰기 속도 와 낮은 데이터 보안 요구 사항이필요한 경우테이블 크기에 대한 요구 사항이 있으며 너무 큰 테이블을 만들 수 없습니다. 따라서 이 유형의 데이터베이스는 상대적으로 작은 데이터베이스 테이블에서만 사용됩니다.

 

 

おすすめ

転載: blog.csdn.net/qq_43269730/article/details/89227527
おすすめ