>  기사  >  데이터 베이스  >  MySql 엔진이란 무엇입니까?

MySql 엔진이란 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-05-07 14:18:4117505검색

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

이제 다양한 데이터베이스 관리 시스템이 다양한 데이터 엔진을 지원합니다. MySql의 핵심은 스토리지 엔진입니다.

스토리지 엔진 보기

MySQL은 개발자에게 스토리지 엔진을 쿼리하는 기능을 제공합니다. , 여기서는 MySQL5.1을 사용하고 있습니다. 명령줄 창에서 다음 명령을 사용할 수 있습니다.

SHOW ENGINES

명령을 사용하면 MySQL에서 사용하는 엔진을 볼 수 있습니다. For (저는 Navicat Premium을 사용합니다) 명령의 출력:

MySql 엔진이란 무엇입니까?

MySQL이 사용자에게 트랜잭션을 처리하는 엔진을 포함하여 수많은 스토리지 엔진을 제공하는 것을 보면 -safe tables and out 트랜잭션에 안전하지 않은 테이블을 위한 엔진입니다.

데이터베이스가 기본적으로 사용하는 엔진을 확인하려면 다음 명령을 사용하면 됩니다.

SHOW VARIABLES LIKE 'storage_engine';

보기 및 쿼리 결과는 다음과 같습니다.

MySql 엔진이란 무엇입니까?

MySQL에서는 특정 요구 사항에 대해 전체 서버에서 동일한 스토리지 엔진을 사용할 필요가 없습니다. 각 테이블마다 다른 스토리지 엔진을 사용할 수 있습니다. Support 열의 값은 특정 엔진을 사용할 수 있는지 여부를 나타냅니다. YES는 해당 엔진을 사용할 수 있음을 의미하고 NO는 사용할 수 없음을 의미하며 DEFAULT는 해당 엔진이 현재 기본 스토리지 엔진임을 의미합니다.

일반적으로 사용되는 엔진 중 일부를 살펴보겠습니다.

1. Innodb

트랜잭션을 지원하고 트랜잭션이 안전하며 행 수준 잠금 및 외래 키 제약 조건을 제공하고 다음을 위한 버퍼 풀이 있습니다. 버퍼 데이터 및 인덱스.

적용 가능한 시나리오: ACID 트랜잭션 지원과 함께 트랜잭션 처리에 사용되며 다수의 삽입 및 업데이트 작업을 수행하는 테이블에 적용됩니다.

2. MyISAM

은 트랜잭션을 지원하지 않으며, 외래 키 제약 조건을 지원하지 않으며, 행 수준 잠금을 지원하지 않으며, 전체 작업 중에 테이블을 잠가야 하지만 테이블의 행 수가 저장되므로 tablename에서 select count(*)를 실행할 때 실행 속도가 특히 빠릅니다.

적용 가능한 시나리오: 비트랜잭션 테이블을 관리하는 데 사용되며 고속 검색 및 전체 텍스트 검색 기능을 제공하며 로그 테이블과 같이 선택 작업 수가 많은 테이블에 적합합니다

#🎜🎜 #3. MEMORY

각 메모리는 실제로 하나의 디스크 파일에 해당합니다. 메모리에 존재하기 때문에 메모리 접근 속도가 매우 빠르고, 엔진은 한번에 찾을 수 있는 해시 인덱스를 사용하기 때문에 B-트리처럼 루트 노드부터 분기 노드까지 검색할 필요가 없다. , 따라서 정밀한 쿼리의 경우 액세스 속도가 매우 빠르지만, 이와 같은 범위 검색에서는 해싱이 작동하지 않습니다. 또한 서비스가 종료되면 테이블의 데이터는 디스크에 저장되지 않으므로 손실됩니다.

적용 가능한 시나리오: 내용이 자주 변경되지 않는 테이블이나 중간 조회 테이블로 주로 사용됩니다. 디스크에 데이터가 기록되지 않았기 때문에 테이블 업데이트 시 주의하시기 바랍니다.

4. MERGE 🎜#MERGE 스토리지 엔진은 MyISAM 데이터 테이블 세트를 논리 단위로 처리하여 동시에 쿼리할 수 있도록 합니다. MERGE 데이터 테이블 구조를 구성하는 MyISAM 데이터 테이블의 각 구성원은 정확히 동일한 구조를 가져야 합니다. 각 멤버 데이터 테이블의 데이터 컬럼은 동일한 이름과 동일한 타입으로 동일한 순서로 정의되어야 하며, 인덱스도 동일한 순서, 동일한 방식으로 정의되어야 한다. MERGE 데이터 테이블은 여러 쿼리를 실행하지 않고도 여러 데이터 테이블을 동시에 쉽게 참조할 수 있을 뿐만 아니라 다음과 같은 편의성도 제공합니다.

MERGE 데이터 테이블을 사용하면 각 MyISAM 데이터 테이블에서 허용하는 최대 길이를 초과하는 크기의 논리 단위를 생성할 수 있습니다.

MERGE 데이터가 포함된 압축된 데이터 테이블을 내부에서 볼 수 있습니다. 그리고 밖에. 예를 들어 특정 연도가 끝나면 더 이상 해당 로그 파일에 레코드를 추가하면 안 되므로 myisampack 도구를 사용하여 압축하여 공간을 절약할 수 있으며 MERGE 데이터 테이블은 여전히 ​​평소대로 작동할 수 있습니다#🎜🎜 #

위 내용은 MySql 엔진이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.