programing

MariaDB/InnoDB에서 ADD COLUMON AFTER를 실행할 때 위험이 있습니까?

magicmemo 2023. 8. 19. 10:06
반응형

MariaDB/InnoDB에서 ADD COLUMON AFTER를 실행할 때 위험이 있습니까?

저는 Centos7과 Centos8에서 MariaDB 10.4.13을 사용하는 DBA입니다.

우리 개발팀은 기존 (작은) 테이블 중간에 새 컬럼이 필요합니다.

그래서 우리는 이것을 사용했습니다.

ALTER TABLE tablename ADD COLUMN c1 enum('DEL', 'END') not null default 'END' AFTER c5;

이것은 잘 작동하지만, 저는 이 주제에 대해 처음입니다. (MS-SQL 및 DB2에서 DBA로 일했습니다.)

마리아DB가 ADD AFTER를 사용하여 정확히 무엇을 하는지 모르겠습니다.위험 요소가 있습니까?이로 인해 문제가 발생할 수 있습니까?DB2에서는 이것이 그렇게 쉽지 않습니다.

새 열을 표의 마지막 열로 추가하든 가운데에 추가하든 상관 없습니다.행 크기를 변경하면 새 테이블스페이스가 생성되고 데이터가 새 테이블스페이스로 복사됩니다.이것은 문제를 일으키지 않습니다.

복사가 진행되는 동안 테이블을 잠급니다.하지만 당신은 그것이 작은 테이블이라고 말했습니다.그것은 그다지 구체적이지는 않지만(작거나 큰 것으로 생각하는 것은 잘 모르겠습니다만) 그리 오래 걸리지는 않을 것 같습니다.아마 1~2초 정도.

그러나 애플리케이션에서 테이블을 지속적으로 사용 중인 경우, 잠시만 잠가도 애플리케이션이 중단될 수 있습니다.관리자에게 해당 테이블을 사용하여 응용프로그램에 영향을 미치지 않는 변경 작업을 수행할 최적의 시간을 조정하는 방법에 대해 설명해야 합니다.

언급URL : https://stackoverflow.com/questions/63668863/are-there-any-risks-running-add-column-after-in-mariadb-innodb

반응형