PostgreSQL에 비해 Mysql에 진공이 필요 없는 이유는 무엇입니까?
나는 Postgre에 더 익숙합니다.MySQL보다 SQL.Postgre에서 랩어라운드 ID 오류가 한 번 발생했습니다.SQL db를 통해 db의 vacuuming의 중요성을 이해하였습니다.사실, 이 작업은 처리해야 할 막대한 오버헤드 작업이었습니다. (그리고 이 작업은 몇 달 전에 자동 진공 상태로 업데이트된 이전 버전 7.4.3과 함께 수행되었습니다.)MySQL과 Postgre를 비교할 때SQL, MySQL이 Postgre의 진공과 같은 오버헤드를 처리할 필요가 없다고 가정합니다.SQL. 이 가정이 맞습니까?
또한 PostgreSQL에 비해 MySQL Dbs의 경우 진공이 필요하지 않은 이유는 무엇입니까?MySQL dbs에 진공과 유사한 다른 최적화 대안이 있습니까?
로버트 하스는 이 주제에 대해 썼습니다.
짧은 버전은 InnoDB가 Oracle의 설계와 더 유사한 롤백 로그를 사용한다는 것입니다.행의 최신 버전만 기본 테이블에 유지됩니다.Postgre와 관련된 기능을 가진 비동기/지연 작업인 로그 퍼징을 관리해야 합니다.SQL의VACUUM
.
따라서 업데이트에 대해 더 많은 쓰기 작업을 수행하고 이전 행 버전에 대한 액세스 속도는 훨씬 느리지만 비동기식 진공 상태가 필요하지 않아 테이블 팽만감 문제가 발생하지 않습니다.대신 거대한 롤백 세그먼트를 갖거나 롤백할 공간이 부족할 수 있습니다.
따라서 이는 서로 다른 장점과 문제점을 가진 디자인인 트레이드 오프입니다.
My ISAM 테이블을 말씀하시는 거라면 완전히 다릅니다.포스트그레SQL의 테이블은 데이터를 먹어 치우지 않습니다.ISAM이.포스트그레SQL의 테이블은 트랜잭션입니다.제 ISAM은.플랫 파일은 필요 없습니다.VACUUM
그것도 좋은 생각은 아닙니다
Postgre의 MySQL 근사치SQL의vacuum
가OPTIMIZE TABLE tablename
(MySQL 문서).MySQL에서 Postgre와 유사한 기능을 수행합니다.SQL은 사용되는 스토리지 엔진에 따라 사용되지 않는 공간을 회수하고 인덱스 및 테이블을 재구성하며 데이터 파일을 조각 모음합니다.당신은 반드시 그것을 주기적으로 실행해야 합니다.vacuum
포스트그레에서SQL 입니다.
언급URL : https://stackoverflow.com/questions/25153532/why-is-it-a-vacuum-not-needed-with-mysql-compared-to-the-postgresql
'sourcecode' 카테고리의 다른 글
여러 행을 가져와 하나의 변수에 저장 - ORACLE 저장 프로시저 (0) | 2023.10.30 |
---|---|
iPhone ObjectiveC Apps의 C/C++ 정적 라이브러리 사용 (0) | 2023.10.30 |
사용 - PowerShell에서 여러 문자열을 걸러내는 것을 좋아하지 않습니다. (0) | 2023.10.30 |
페이지를 다시 로드하지 않고 javascript/jQuery를 사용하여 URL 또는 쿼리 문자열을 업데이트하려면 어떻게 해야 합니까? (0) | 2023.10.30 |
란드()는 때때로 같은 것을 연속적으로 반환합니까? (0) | 2023.10.30 |