my sql 격 리 단계 작업 과정 상세 설명(cmd)

3827 단어 mysql격 리
예제 작업 과정 읽 기-read uncommitted
1.두 개의 MySql 명령 프롬프트 줄 을 열 고 모두 같은 데이터베이스 에 들 어가 고 현재 표 의 내용 이 같은 데이터 인지 확인 합 니 다.다음 과 같 습 니 다.

2、A,B 양 끝 에서 select@@tx 실행isolation;현재 기본 격 리 단 계 를 검사 하면 모두
Repeatable Read C 는 반복 해서 읽 을 수 있 습 니 다.-(현재 사무 에서 처음 읽 은 데 이 터 를 반복 해서 읽 는 것 을 반복 해서 읽 을 수 있 는 것 이 라 고 합 니 다.)

3.A 단의 격 리 단 계 를 readuncommitted C 로 수정 하여 제출 하지 않 았 습 니 다.다른 사람 이 제출 하지 않 은 데 이 터 를 읽 을 수 있다 는 뜻 이다.

set transactionisolation level read uncommitted;
녹색 MySql 5.5 에서 실행 하 십시오:

Set sessiontransaction isolation level read uncommitted;
   그리고 변경 사항 이 있 는 지 확인 합 니 다:

4.A,B 양 끝 에서 모두 트 랜 잭 션 을 시작 합 니 다.

starttransaction;
5.B 단 에서 다음 과 같은 데 이 터 를 수정 합 니 다.

update stud setname='Jhon' where id=1;
   그 다음 에 A 단 에서 조 회 를 실행 합 니 다:select*from stud;

6.이때 B 단 에서 스크롤 백 작업 을 다시 수행 합 니 다.
Rollback;
   다시 A 단 에서 조회 한 결과 데이터 가 다시 이전 데이터 로 돌아 간 것 으로 나 타 났 다.이것 이 바로 더러 운 읽 기 이다.

7.B 단 에 기 록 된 새로운 데이터 에 대해 A 단 을 제출 하지 않 아 도 마찬가지 로 조회 할 수 있 습 니 다.이것 은 환 독 이 라 고 합 니 다.

 제출 한 작업 과정 읽 기:-read COMMITTED
1.A,B 양 끝 이 일치 하 는 지 확인:

2.A 단(왼쪽)의 격 리 단 계 를 readcommitted 로 수정 합 니 다.

set transactionisolation level read committed;
   A 단 에서 트 랜 잭 션 시작:
   starttransaction;
   B 단 에서 트 랜 잭 션 시작

3.A 단 에서 조회:

Select * fromstud;
B 단 에서 한 줄 의 기록 을 수정 하고 제출 합 니 다.

Update stud setname='itcast' where id=1;
다시 A 단 으로 돌아 가 조회 한 결과 같은 사무 에서 두 번 조회 한 결과 가 다르다 는 것 을 알 수 있 습 니 다.

 반복 읽 기 예제 반복 읽 기
1.A 단의 격 리 단계 가 Repeatablered 단계 인지 확인 합 니 다.
Select@@tx_isolation;
2.먼저 A 단 에서 열 린 트 랜 잭 션 에서 조회 합 니 다.
그리고 B 단 에서 데이터베이스 내용 을 수정 합 니 다.
마지막 으로 A 단의 같은 사무 에서 조회 한 결과 결과 일치 하 는 것 을 발견 했다.

 Serializable 은 최고급 격 리 단계 입 니 다.
1.A 단 에 격 리 단 계 를 Serializable 로 설정 합 니 다.

set transactionisolation level serializable;
A 단 에서 트 랜 잭 션 을 시작 하고 stud 표를 조회 합 니 다.
B 단 에서 사 무 를 시작 하고 기록 을 기록 합 니 다.이때 B 의 코드 가 실행 되 지 않 은 것 을 발견 했다.왜냐하면 그것 은 A 가 제출 한 후에 야 실행 되 기 때문이다.
스 레 드 동기 화 와 유사 한 개념

 이 네 가지 격 리 단 계 는 서로 다른 잠 금 형식 으로 이 루어 집 니 다.같은 데 이 터 를 읽 으 면 문제 가 발생 하기 쉽 습 니 다.예 를 들 면:
더러 운 읽 기(Drity Read):어떤 사무 가 데 이 터 를 업 데 이 트 했 습 니 다.다른 사 무 는 이때 같은 데 이 터 를 읽 었 습 니 다.어떤 이유 로 앞의 RollBack(스크롤 백)이 조작 되면 다음 사무소 에서 읽 은 데 이 터 는 정확 하지 않 습 니 다.
중복 읽 을 수 없습니다(Non-repeatable read):한 업무 의 두 번 의 조회 에서 데이터 가 일치 하지 않 습 니 다.이것 은 두 번 의 조회 과정 에서 하나의 사무 가 업 데 이 트 된 기 존 데 이 터 를 삽입 한 것 일 수 있 습 니 다.
환 독(Phantom Read):한 업무 의 두 번 의 조회 에서 데이터 펜 수가 일치 하지 않 습 니 다.예 를 들 어 한 업무 가 몇 열(Row)데 이 터 를 조 회 했 고 다른 업 무 는 이때 새로운 몇 열 데 이 터 를 삽 입 했 습 니 다.이전의 업 무 는 다음 조회 에서 몇 열 데이터 가 이전에 없 었 던 것 임 을 발견 할 수 있 습 니 다.
 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기