데이터 베이스 MySQL 튜토리얼 MySQL 데이터베이스 잠금은 세분화에 따라 무엇으로 나눌 수 있습니까?

MySQL 데이터베이스 잠금은 세분화에 따라 무엇으로 나눌 수 있습니까?

Apr 21, 2021 pm 06:38 PM
mysql 데이터 베이스 잠그다

세분성에 따라 나눌 수 있습니다. 1. 행 수준 잠금, MySQL에서 가장 정밀한 잠금 세분성. 이는 현재 작동 중인 행만 잠긴다는 의미입니다. 2. 테이블 수준 잠금, MySQL에서 가장 큰 잠금 세분성 잠금은 잠금을 의미합니다. 현재 작업의 전체 테이블 3. 페이지 수준 잠금, 잠금 세분성이 행 수준 잠금과 테이블 수준 잠금 사이에 있는 MySQL의 잠금입니다.

MySQL 데이터베이스 잠금은 세분화에 따라 무엇으로 나눌 수 있습니까?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

관계형 데이터베이스에서 데이터베이스 잠금은 잠금 세분성에 따라 행 수준 잠금(INNODB 엔진), 테이블 수준 잠금(MYISAM 엔진), 페이지 수준 잠금(BDB 엔진)으로 나눌 수 있습니다.

MyISAM 및 InnoDB 스토리지 엔진에서 사용되는 잠금:

  • MyISAM은 테이블 수준 잠금을 사용합니다.

  • InnoDB는 행 수준 잠금과 테이블 수준 잠금을 지원하며 기본값은 행 수준 잠금입니다.

행 수준 잠금, 테이블 수준 잠금 및 페이지 수준 잠금 비교

  • 행 수준 잠금: MySQL에서 가장 세부적인 잠금으로, 현재 작업의 행만 잠긴다는 의미입니다. . 행 수준 잠금은 데이터베이스 작업의 충돌을 크게 줄일 수 있습니다. 잠금 세분성은 가장 작지만 잠금 오버헤드도 가장 큽니다. 행 수준 잠금은 공유 잠금과 배타적 잠금으로 구분됩니다.

    특징: 높은 오버헤드, 느린 잠금이 발생할 수 있습니다. 잠금 세분성은 가장 작고 잠금 충돌 가능성은 가장 낮으며 동시성은 가장 높습니다.

  • 테이블 수준 잠금: MySQL에서 잠금 세분성이 가장 높은 잠금입니다. 이는 현재 작업의 전체 테이블을 잠그는 것을 의미합니다. 구현이 간단하고 리소스를 덜 소비하며 대부분의 MySQL 엔진에서 지원됩니다. 가장 일반적으로 사용되는 MyISAM 및 InnoDB는 테이블 수준 잠금을 지원합니다. 테이블 수준 잠금은 테이블 공유 읽기 잠금(공유 잠금)과 테이블 배타적 쓰기 잠금(배타적 잠금)으로 구분됩니다.

    특징: 낮은 오버헤드, 빠른 잠금, 큰 잠금 세분성, 가장 높은 잠금 충돌 가능성 및 가장 낮은 동시성.

  • 페이지 수준 잠금: 행 수준 잠금과 테이블 수준 잠금 사이에 잠금 세분성이 있는 MySQL의 잠금입니다. 테이블 수준 잠금은 빠르지만 충돌이 많습니다. 행 수준 잠금은 충돌이 거의 없지만 느립니다. 따라서 손상된 페이지 수준이 채택되어 한 번에 인접한 레코드 그룹을 잠급니다.

    특징: 오버헤드 및 잠금 시간은 테이블 잠금과 행 잠금 사이에 제한되어 있습니다. 잠금 세분성은 테이블 잠금과 행 잠금 사이에 제한되어 있으며 동시성은 평균입니다.

관련 무료 학습 권장 사항: mysql 비디오 튜토리얼

위 내용은 MySQL 데이터베이스 잠금은 세분화에 따라 무엇으로 나눌 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 03, 2024 pm 08:11 PM

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까?

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 12:19 PM

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? Jun 02, 2024 pm 02:26 PM

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까?

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? Jun 02, 2024 pm 02:13 PM

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? Jun 04, 2024 pm 01:57 PM

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까?

golang 함수의 잠금은 어떻게 구현됩니까? golang 함수의 잠금은 어떻게 구현됩니까? Jun 05, 2024 pm 12:39 PM

golang 함수의 잠금은 어떻게 구현됩니까?

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

See all articles