MySQL에서는 ALTER TABLE 문을 사용하여 테이블의 스토리지 엔진을 간단하게 변경할 수 있습니다. 아래 예시를 통해 구체적인 방법을 살펴보겠습니다.
스토리지 엔진 변경하기
다음과 같이 ALTER TABLE 문에 ENGINE 옵션을 지정하면 테이블의 스토리지 엔진을 원하는 엔진으로 변경할 수 있습니다.
mysql> ALTER TABLE Student ENGINE = 'InnoDB';
Query OK, 0 rows affected (0.90 sec)
Records: 0 Duplicates: 0 Warnings: 0
위 명령어를 실행하면 Student 테이블의 스토리지 엔진이 InnoDB로 변경됩니다.
변경 결과 확인하기
스토리지 엔진이 정상적으로 변경되었는지 확인하려면 information_schema.TABLES 뷰를 조회하면 됩니다.
mysql> SELECT ENGINE FROM information_schema.TABLES
-> WHERE TABLE_SCHEMA = 'tutorial'
-> AND TABLE_NAME = 'Student';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.01 sec)
조회 결과 ENGINE 컬럼에 InnoDB가 표시되므로, 스토리지 엔진이 성공적으로 변경된 것을 확인할 수 있습니다.
참고 사항
- 테이블에 데이터가 많을 경우 엔진 변경 작업에 상당한 시간이 소요될 수 있으므로, 서비스 중인 대용량 테이블은 트래픽이 적은 시간대에 작업하는 것이 좋습니다.
- MySQL 5.5 버전부터 InnoDB가 기본 스토리지 엔진으로 채택되었으며, 트랜잭션 처리와 외래 키 지원이 필요한 경우 InnoDB 사용이 권장됩니다.