문제 설명:
대규모 MySQL 프로덕션 테이블에 인덱스 생성 테이블은 잠재적으로 데이터베이스 잠금을 일으킬 수 있습니다. 이는 인덱싱 프로세스 중에 데이터베이스에 대한 중단 없는 액세스를 보장하는 데 어려움을 겪습니다.
해결책:
MySQL 5.6부터 데이터베이스는 작업 중 증분 인덱스 업데이트를 지원합니다. 이는 읽기 및 쓰기와 동시에 인덱스 생성 또는 삭제가 수행되어 차단 위험을 줄이고 데이터 무결성을 보장할 수 있음을 의미합니다.
MySQL 5.5 이하 버전에서는 UPDATE 작업이 수행됩니다. 활성 인덱스 업데이트가 있는 테이블에서는 블록이 발생합니다. 이로 인해 성능에 큰 영향을 미치고 중단이 발생할 수 있습니다.
이러한 차단을 방지하려면 다음 접근 방식을 고려하세요.
1. 순환 마스터 서버:
2. Percona의 pt-online-schema-change:
3. RDS 읽기 전용 복제본 프로모션:
Amazon RDS를 사용하는 경우 읽기 전용 복제본을 생성하고 이에 대한 인덱스 업데이트를 수행할 수 있습니다. 완료되면 복제본을 새 마스터로 승격합니다. 이 접근 방식은 장애 조치 및 데이터 마이그레이션을 자동화하여 프로세스를 단순화합니다.
참고: 이 접근 방식을 사용하려면 업데이트된 데이터베이스 인스턴스에 다시 연결하기 위해 애플리케이션을 다시 시작해야 합니다.
위 내용은 운영을 중단하지 않고 거대한 MySQL 프로덕션 테이블을 어떻게 인덱싱할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!