세 가지 MySQL 초보 입문 면접 문제,자유 로 운 길 로
데이터 베이스 에 있어 읽 기와 쓰 기 는 매우 빈번 하 죠?병발 량 이 올 때 읽 기와 쓰기 작업 을 할 때 데이터 의 일치 하지 않 을 수 있 습 니 다.이 럴 때 방문 순 서 를 확보 하 는 메커니즘 이 필요 하기 때문에 자 물 쇠 는 어느 정도 일치 성 을 보호 할 수 있 습 니 다.
우선 우 리 는 자물쇠 의 입도 에 따라 나 눌 수 있다.
1.표 급 잠 금:잠 겨 있 는 전체 시계 입 니 다.현재 업무 가 방문 할 때 현재 업무 가 잠 금 을 풀 때 까지 기 다 려 야 시 계 를 조작 할 수 있 습 니 다.
특징:시계 자 물 쇠 는 비용 이 적 고 자 물 쇠 를 빨리 잠 근 다음 에 자물쇠 의 입도 가 가장 크 며 자물쇠 가 잠 겨 있 는 현상 이 나타 나 지 않 으 며 자 물 쇠 를 보 내 는 충돌 확률 이 가장 높 고 병발 도가 가장 낮다.
2.줄 잠 금:잠 금 은 한 줄 또는 여러 줄 의 기록 을 잠 그 는 것 입 니 다.현재 트 랜 잭 션 에 접근 할 때 잠 긴 필드 만 접근 할 수 없고 다른 정상 적 인 접근 이 가능 합 니 다.
특징:행 자 물 쇠 는 비용 이 많이 들 고 자 물 쇠 를 가득 채 운 다음 에 자물쇠 의 입도 가 가장 적 으 며 자물쇠 가 닫 히 는 현상 이 나타 날 수 있 으 며 자 물 쇠 를 보 내 는 충돌 확률 이 가장 낮 고 병발 도가 가장 높다.
3.페이지 잠 금:시계 잠 금 과 줄 잠 금 사이 에 있 는 자물쇠 로 인접 한 줄 기록 을 잠 금 합 니 다.
특징:시계 자물쇠 와 줄 자물쇠 사이 에 있 기 때문에 비용 이 많이 들 고 자 물 쇠 를 추가 하 며 자 물 쇠 를 보 내 는 입도,자 물 쇠 를 보 내 는 충돌 확률,병발 도 는 모두 중간 정도 이다.자물쇠 가 잠 겨 있 는 현상 도 나타 날 수 있다.
우리 도 자물쇠 의 유형 에 따라 분류 할 수 있다.
트 랜 잭 션:
데이터 베 이 스 는 하나의 일치 성 상태 에서 다른 일치 성 상태,즉 업무 의 조작 을 모두 실행 하거나 실행 하지 않 는 다.예 를 들 어 사 무 는 한 그룹의 업무 수행 중의 여러 개의 SQL 문 구 를 하나의 전체 로 삼 는 다.그러면 이 여러 개의 문 구 는 모두 성공 적 으로 실행 되 거나 모두 실 패 했 습 니 다.이 데이터베이스 엔진 에서 InnoDB 는 사 무 를 지원 하지만 MyIASM 은 지원 하지 않 습 니 다.
4 대 특성:
read-uncommitted
읽 기 미 제출:가장 낮은 격 리 단계,제출 되 지 않 은 데 이 터 를 읽 는 것 도 더러 운 읽 기 입 니 다.더러 운 읽 기 현상 과 중복 읽 기 불가,환 독 현상 이 발생 할 수 있 습 니 다.read-committed
읽 기 제출:동시 다발 업무 에서 제출 한 데 이 터 를 읽 을 수 있 고 더러 운 읽 기 를 효과적으로 막 을 수 있 으 나 읽 을 때마다 값 이 바 뀌 었 기 때문에 중복 읽 기와 환 독 이 발생 할 수 없습니다.repeatable-read
중복 읽 을 수 있 습 니 다.my sql 의 기본 격 리 단 계 는 같은 필드 를 여러 번 읽 는 결과 가 일치 합 니 다.더러 운 읽 기와 중복 읽 을 수 없 지만 환 독 은 여전히 발생 합 니 다.그 환 독 은 원래 내 가 읽 은 것 이 한 줄 밖 에 없 는 데 이 터 였 는데,이때 다시 읽 으 면 한 줄 이 더 많아 질 수 있 고,이때 가 환 독 이 었 다.serializable
직렬 화:가장 높 은 격 리 등급 으로 더러 운 읽 기,중복 읽 기,환 독 현상 을 효과적으로 해결 할 수 있 습 니 다.하지만 효율 은 낮 을 것 이다.더 럽 게 읽다
반복 해서 읽 을 수 없다
환독 하 다
read-uncommitted 제출 되 지 않 은 읽 기
이 가능 하 다,~할 수 있다,...
이 가능 하 다,~할 수 있다,...
이 가능 하 다,~할 수 있다,...
read-committed 읽 기 제출 됨
해결 할 수 있다
이 가능 하 다,~할 수 있다,...
이 가능 하 다,~할 수 있다,...
반복 가능-read 중복 읽 기
해결 할 수 있다
해결 할 수 있다
이 가능 하 다,~할 수 있다,...
직렬 화 가능
해결 할 수 있다
해결 할 수 있다
해결 할 수 있다
데이터 의 일치 성에 대해 말하자면 격 리 단계 가 높 을 수록 데이터 의 완전 성과 일치 성 을 확보 할 수 있 으 나 병발 하 는 성능 에 대한 영향 은 크다.대부분의 데이터베이스 의 기본 단 계 는
read-committed
입 니 다.예 를 들 어 Oracle 이지 만 MySQL 에 대한 기본 격 리 단 계 는? repeatable-read
중복 읽 을 수 있 습 니 다.3.MyISAM 과 InnoDB 메모리 엔진 의 차이
엔진 에 있어 서 우 리 는 명령 을 사용 하여 볼 수 있다.
SHOW ENGINES;
중요 한 것 은 이 두 개의 마 이 ISAM 과 이 노 DB 다.왜 냐 면 MySQL 에 있어 서 5 버 전 은 이전에 MyISAM 을 사 용 했 는데 지금 은 기본적으로 InnoDB 입 니 다.
MyISAM :
MyISAM 의 경우 동시성 이 비교적 떨 어 지고 업 무 를 지원 하지 않 기 때문에 상대 적 으로 응용 하 는 장면 이 비교적 적 고 주요 특징 은 다음 과 같다.
InnoDB :
현재 MySQL 의 기본 저장 엔진 은 MyISAM 에 비해 InnoDB 저장 엔진 이 크게 바 뀌 었 고 주요 특징 은 다음 과 같다.
이 글 은 여기까지 입 니 다.만약 이 글 이 당신 에 게 도 도움 이 된다 면,당신 이 우리 의 더 많은 내용 에 관심 을 가 져 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.