데이터 베이스 MySQL 튜토리얼 Mysql 스토리지 엔진의 Innodb 스토리지 엔진 소개

Mysql 스토리지 엔진의 Innodb 스토리지 엔진 소개

Dec 22, 2016 pm 04:46 PM

MyISAM 외에 가장 널리 사용되는 MySQL은 Innodb입니다. Innodb는 타사에서 개발한 스토리지 엔진이며 MySQL과 동일한 오픈 소스 라이센스 계약을 준수합니다.

Innodb가 인기 있는 이유는 주로 기능적인 특징 때문입니다.

1. 트랜잭션 설치 지원

기능면에서 Innodb에서 가장 중요한 것은 트랜잭션 보안에 대한 지원은 의심할 여지 없이 Innodb가 MySQL의 가장 인기 있는 스토리지 엔진 중 하나가 된 매우 중요한 이유입니다. 그리고 SQL92 표준에서 정의한 4가지 수준(READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ 및 SERIALIZABLE)을 모두 구현합니다. 트랜잭션 보안에 대한 지원으로 인해 특별한 비즈니스 요구 사항으로 인해 MySQL 사용을 포기해야 했던 많은 사용자들이
MySQL을 지원하게 되었으며, 이전에 데이터베이스 선택에 대해 관망하는 태도를 보였던 사용자들도 크게 증가했습니다. MySQL에 대한 호감도.

2. 데이터의 다중 버전 읽기

Innodb는 트랜잭션을 지원하는 동시에 데이터의 일관성과 동시 작업의 성능을 보장하기 위해 Undo 정보에 의한 데이터의 다중 버전 읽기를 구현합니다. 선택하다.

3. 잠금 메커니즘 개선

Innodb는 MyISAM의 잠금 메커니즘을 변경하고 행 잠금을 구현했습니다. Innodb의 행 잠금 메커니즘은 인덱스를 통해 구현되지만 결국 데이터베이스의 SQL 문의 99%는 인덱스를 사용하여 데이터를 검색합니다. 따라서 행 잠금 메커니즘은 동시성 압력이 높은 환경에서 Innodb의 경쟁력을 의심할 여지 없이 향상시켰습니다.

4. 외래 키 구현

Innodb는 데이터베이스의 중요한 기능인 외래 키 참조를 구현하여 데이터베이스 측에서 일부 데이터의 무결성을 제어할 수 있습니다. 많은 데이터베이스 시스템 튜닝 전문가가 이를 권장하지 않지만 데이터베이스 측에 외래 키 제어를 추가하는 것은 여전히 ​​많은 사용자에게 가장 저렴한 옵션일 수 있습니다.

위 기능의 주요 기능 외에도 Innodb에는 종종 사용자에게 많은 놀라움을 선사하는 동시에 더 많은 고객을 MySQL로 유도하는 많은 기능이 있습니다. Innodb 스토리지 엔진은 물리적 스토리지 측면에서도 MyISAM과 다르지만 테이블 구조 정의와 관련된 메타데이터를 저장하는 .frm 파일도 있지만 테이블 데이터와 인덱스 데이터가 함께 저장됩니다. 각 테이블을 따로 저장할 것인지, 아니면 모든 테이블을 함께 저장할 것인지는 전적으로 사용자가 (특정 구성을 통해) 결정하며, 심볼릭 링크도 지원됩니다.

위 내용은 Mysql 스토리지 엔진 중 Innodb 스토리지 엔진에 대한 소개입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!


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

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Docker에서 MySQL 메모리 사용을 줄입니다 Docker에서 MySQL 메모리 사용을 줄입니다 Mar 04, 2025 pm 03:52 PM

Docker에서 MySQL 메모리 사용을 줄입니다

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Mar 19, 2025 pm 03:51 PM

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다. Mar 04, 2025 pm 04:01 PM

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

sqlite 란 무엇입니까? 포괄적 인 개요 sqlite 란 무엇입니까? 포괄적 인 개요 Mar 04, 2025 pm 03:55 PM

sqlite 란 무엇입니까? 포괄적 인 개요

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음) Mar 04, 2025 pm 03:54 PM

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드 Mar 04, 2025 pm 03:49 PM

MacOS에서 여러 MySQL 버전을 실행 : 단계별 가이드

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? 인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? Mar 21, 2025 pm 06:28 PM

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? 일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? Mar 18, 2025 pm 12:00 PM

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?

See all articles