집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 데이터베이스 최적화(1)—MySQL 엔진
1. MySQL 엔진 종류
(1), InnoDB
1. InnoDB 소개
InnoDB는 저의 기본 엔진이고, 트랜잭션을 지원하며, 그 안의 데이터는 테이블스페이스(tablespace)에 저장됩니다. ) 갭 잠금(다음 키 잠금)을 통해 팬텀 읽기를 방지합니다.
2. InnoDB 기능
(1) In은 클러스터형 인덱스를 기반으로 테이블을 구축하고 기본 키 쿼리에 대해 높은 성능을 발휘합니다.
(2) 데이터를 읽을 때 메모리에 해시 인덱스를 생성하여 버퍼에 삽입하는 속도를 높일 수 있으며, 데이터를 읽을 때는 미리 읽기를 채택합니다.
(3) 핫 백업을 지원하지만 다른 엔진에서는 이 기능을 지원하지 않습니다.
(2), MyISAM
1. MyISAM 소개
MyISAM은 my5.1 이전 버전의 기본 엔진입니다. 전체 텍스트 인덱싱, 압축 및 공간 기능을 지원하지만 트랜잭션은 지원하지 않습니다. 및 행 수준 잠금은 데이터를 읽고 테이블이 작으며 복구 작업을 허용할 수 있는 애플리케이션 시나리오에 적합합니다.
2. MyISAM 기능
(1) MyISAM은 테이블을 데이터 파일과 인덱스 파일의 두 가지 파일로 저장합니다.
(2) MyISAM은 테이블 전체 잠금을 지원하지만 행 잠금은 지원하지 않습니다.
(3) MyISAM 압축 테이블. 더 이상 수정되지 않는 일부 테이블 데이터의 경우 MyISAM을 사용하여 테이블을 압축하여 디스크 I/O 작업을 줄이고 쿼리 효율성을 향상시킵니다.
(3), CSV
CSV 엔진은 일반 CSV 파일을 Mysql 테이블로 처리할 수 있으며, 데이터베이스 실행 시 파일을 복사하거나 복사할 수도 있습니다. 또한 Excel 및 기타 형식의 파일을 CSV로 덤프할 수도 있습니다. 그런 다음 Mysql을 사용합니다. CSV 엔진은 이를 mysql 테이블 형식으로 처리합니다. 데이터 교환 메커니즘으로서 매우 실용적입니다.
(4), 메모리
메모리 엔진은 모든 데이터를 메모리에 저장하며 디스크 I/O가 필요하지 않습니다. 주로 데이터 처리 중 중간 데이터를 저장하고 검색하고 데이터를 다시 시작하는 데 사용됩니다. 그냥 지우세요. Mysql 실행 중 중간 결과를 저장하기 위해 임시 테이블이 필요한 경우 내부적으로 사용되는 임시 테이블은 Memory 테이블이다.
(5), NDB 클러스터
NDB 클러스터 인덱스는 NDB 데이터베이스를 인수한 후 mysql에서 개발되었으며 분산형, 재해 방지형, 고가용성 데이터베이스 인덱스를 지원합니다.
2. 엔진 관련 작업
1. mysql 엔진의 현재 버전 보기
show enginses 명령을 사용하여
5.1 버전의 mysql 엔진 보기:
5.7 버전 mysql 엔진(mysql 클라이언트에서 명령을 실행하여 볼 수 있음):
2. mysql 엔진 지정
방법 1: my.cnf 구성 파일 수정
(1) mysql의 my.cnf 구성 파일이 어디에 저장되어 있는지 확실하지 않은 경우 sudo find /-name my.cnf를 사용하여 확인할 수 있습니다. 파일 경로를 찾으세요.
(2) 은 다음과 같이 수정됩니다.
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-storage-engine=MyISAM
( 3) service mysqld start 명령을 사용하여 mysql 서비스를 다시 시작합니다. 엔진 유형을 확인하세요.
2. 라이브러리/테이블 생성 시 엔진을 지정합니다.
CREATE TABLE mytable (id int, title char(20)) ENGINE = INNODB
ALTER TABLE mytable ENGINE = MyISAM
위 내용은 MySQL 데이터베이스 최적화(1) - MySQL 엔진에 대한 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!