ServerProcess
Jun 07, 2016 pm 04:06 PM1.client进行update操作后,其他是怎么协作的? Client进行update操作之后,是由Server Process真正完成的,分下面几步: 1).需要更新的数据在Data buffer cache中直接更新该数据,如果需要更新的数据不在Data buffer cache中则先到Data files中把数据加载
1.client进行update操作后,其他是怎么协作的?
Client进行update操作之后,是由Server Process真正完成的,分下面几步:
1).需要更新的数据在Data buffer cache中直接更新该数据,如果需要更新的数据不在Data buffer cache中则先到Data files中把数据加载到Data buffer cache中再进行更新;
2).进行更新操作时需要对数据进行加锁;
3).把更新日志写入Redo log buffer;
4).再到Data buffer cache中写数据;
2.为什么要先到Redo log buffer中写更新日志再到Data buffer cache中写数据?
数据库的高可靠性与Redo log buffer有关。对数据库的所有操作都会记录日志,这样会放置数据丢失。因为写Redo log buffer特别快,一旦出现在写Data buffer cache断电情况下,数据库重启之后会根据Redo log buffer中的日志恢复到断电前状态继续写Data buffer cache数据。
3.Commit Processing操作介绍。
Commit Processing操作共分以下4部分:
1).Server Process通知Redo log buffer需要进行Commit操作;
2).LGWR把Redo log buffer中的内容刷新到Redo log files中;
3).Server Process通知User Process以完成commit操作;
4).Server Process释放数据锁;
4.auto commit会接收到一条数据进行一次commit操作,效率很低,并且会破坏事务的完整性,可能会出现数据丢失,不建议使用,最好是手工commit。
인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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