>  기사  >  데이터 베이스  >  MySQL 교착상태를 피하는 방법

MySQL 교착상태를 피하는 방법

青灯夜游
青灯夜游원래의
2019-05-22 18:29:228375검색

mysql 교착 상태를 방지하는 방법: 1. 고정된 순서로 테이블과 행에 액세스합니다. 2. 비즈니스에서 허용하는 경우 대규모 트랜잭션을 더 작은 트랜잭션으로 분할합니다. 교착 상태 가능성을 줄이기 위해 한 번에 필요한 모든 리소스를 잠급니다. 4. 격리 수준을 줄입니다. 5. 테이블에 합리적인 인덱스를 추가합니다.

MySQL 교착상태를 피하는 방법

교착 상태를 최대한 방지하는 방법:

1 고정된 순서로 테이블과 행에 액세스합니다. 예를 들어, 데이터를 업데이트하는 두 트랜잭션의 경우 트랜잭션 A는 1, 2 순서로 데이터를 업데이트하고, 트랜잭션 B는 2, 1 순서로 데이터를 업데이트합니다. 이로 인해 교착 상태가 발생할 가능성이 더 높습니다.

2. 큰 것을 작은 것으로 분해하세요. 대규모 트랜잭션은 교착 상태에 빠지기 쉽습니다. 비즈니스에서 허용하는 경우 대규모 트랜잭션을 더 작은 트랜잭션으로 분할합니다.

3. 동일한 트랜잭션에서 교착 상태 가능성을 줄이기 위해 필요한 모든 리소스를 한 번에 잠그십시오.

4. 격리 수준을 낮추세요. 비즈니스에서 허용하는 경우 격리 수준을 낮추는 것도 좋은 선택입니다. 예를 들어 격리 수준을 RR에서 RC로 조정하면 갭 잠금으로 인해 발생하는 많은 교착 상태를 피할 수 있습니다.

5. 테이블에 합리적인 인덱스를 추가합니다. 인덱스를 사용하지 않으면 테이블의 각 행에 잠금이 추가되어 교착 상태가 발생할 확률이 크게 높아지는 것을 알 수 있습니다.

위 내용은 MySQL 교착상태를 피하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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