본문 바로가기
MySql

MySQL PostgreSQL에 비해 Mysql에 진공이 필요하지 않은 이유는 무엇입니까?

by 베이스 공부 2020. 12. 2.
반응형

MySQL보다 PostgreSQL에 더 익숙합니다. PostgreSQL db에서 한 번 랩 어라운드 ID 오류가 발생한 후 db에서 vacuum의 중요성을 이해했습니다. 실제로 처리해야 할 엄청난 오버 헤드 작업이었습니다 (그리고 autovacuum을 사용하기 위해 몇 달 전에 업데이트 된 이전 버전 7.4.3을 사용했습니다). MySQL과 PostgreSQL을 비교할 때 MySQL이 PostgreSQL의 vacuum과 같은 오버 헤드를 처리 할 필요가 없다고 가정합니다. 이 가정이 맞습니까?

또한 PostgreSQL에 비해 MySQL Dbs에서 진공이 필요하지 않은 이유는 무엇입니까? MySQL db에 대해 vacuum과 유사한 다른 최적화 대안이 있습니까?

 

해결 방법

 


짧은 버전은 InnoDB가 Oracle의 디자인과 더 비슷하게 롤백 로그를 사용한다는 것입니다. 가장 최근 버전의 행만 기본 테이블에 보관됩니다. PostgreSQL의 VACUUM 과 관련된 기능을 사용하는 비동기 / 지연 작업 인 로그 제거를 관리해야합니다.

즉, 업데이트에 대해 더 많은 쓰기 작업을 수행하고 이전 행 버전에 대한 액세스를 상당히 느리게하지만 비동기식 진공에 대한 필요성을 제거하고 테이블 팽창 문제가 없음을 의미합니다. 대신 큰 롤백 세그먼트가 있거나 롤백을위한 공간이 부족할 수 있습니다.

그래서 그것은 장단점과 다른 세트의 장점과 문제점을 가진 디자인입니다.

MyISAM 테이블에 대해 이야기하고 있다면 완전히 다릅니다. PostgreSQL의 테이블은 데이터를 먹지 않습니다. MyISAM이됩니다. PostgreSQL의 테이블은 트랜잭션입니다. MyISAM은 그렇지 않습니다. 플랫 파일에는 VACUUM 도 필요하지 않으므로 좋은 생각이 아닙니다.

 

참조 페이지 https://stackoverflow.com/questions/25153532

 

 

반응형

댓글