ENGINE=InnoDB; 란
MySQL에서 테이블을 생성할 때 해당 테이블에 InnoDB 저장 엔진을 사용하도록 지정하는 옵션입니다. InnoDB는 다음과 같은 장점을 제공합니다:
- 트랜잭션 지원: ACID(원자성, 일관성, 고립성, 지속성) 준수를 통해 안정적인 트랜잭션 처리가 가능합니다.
- 외래키 제약 조건: 테이블 간의 관계를 정의하고 데이터 무결성을 유지할 수 있도록 외래키를 지원합니다.
- 행 수준 잠금: 데이터 업데이트 시 행 단위로 잠금을 걸어 동시 처리 성능을 향상시킵니다.
- 크래시 복구: 시스템 장애 발생 시 데이터를 복구하는 기능이 내장되어 있어 안정성을 높여줍니다.
따라서, ENGINE=InnoDB;
옵션을 사용하면 위와 같은 고급 기능들을 활용할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
-- CarManufacturer Table CREATE TABLE CarManufacturer ( ManufacturerID INT NOT NULL AUTO_INCREMENT, ManufacturerName VARCHAR(255) NOT NULL, Country VARCHAR(100), FoundedYear YEAR, PRIMARY KEY (ManufacturerID) ) ENGINE=InnoDB; -- Car Table CREATE TABLE Car ( CarID INT NOT NULL AUTO_INCREMENT, ModelName VARCHAR(255) NOT NULL, Year YEAR, Price DECIMAL(10,2), ManufacturerID INT NOT NULL, PRIMARY KEY (CarID), FOREIGN KEY (ManufacturerID) REFERENCES CarManufacturer(ManufacturerID) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; |