테이블을 잠그지 않고 ALTER TABLE
MySQL에서 ALTER TABLE 작업을 수행하면 해당 테이블은 해당 기간 동안 읽기 잠금 상태가 됩니다. 문, 잠재적으로 동시 쓰기를 차단합니다. 큰 테이블에서 이 작업을 수행하면 INSERT 또는 UPDATE 문이 장기간 중단될 수 있습니다. 진행 중인 업데이트에 영향을 주지 않고 "핫 변경"을 수행할 수 있는 솔루션이 있습니까?
유일한 대안: 수동 조작
MySQL은 핫 변경을 직접 지원하지 않지만 대안이 있습니다: 많은 RDBMS 시스템이 자동으로 수행하는 기능을 수동으로 복제하는 것입니다. 여기에는 다음이 포함됩니다.
기술적 고려 사항:
새 필드를 추가하면 테이블의 모든 행이 효과적으로 수정됩니다. 이 프로세스에는 더 큰 영향을 미치는 광범위한 UPDATE 작업과 유사하게 디스크에 있는 데이터의 물리적 재구성이 필요합니다. 필드 수준 잠금은 행 수준 잠금보다 더 복잡하며 테이블 전체 잠금이 항상 바람직한 것은 아닙니다.
기타 RDBMS 솔루션:
MySQL은 그렇지 않을 수도 있습니다. 기본적으로 핫 변경을 지원하는 경우 다른 RDBMS 시스템이 이러한 기능을 제공할 수도 있습니다. 예를 들어 PostgreSQL에서는 다른 파티션에 영향을 주지 않고 개별적으로 변경할 수 있는 파티션된 테이블을 허용합니다.
위 내용은 테이블을 잠그거나 동시 업데이트를 중단하지 않고 MySQL `ALTER TABLE` 작업을 어떻게 수행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!