Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 InnoDB는 기본적으로 활성화되어 있을까?

네, MySQL 4.0 버전부터 InnoDB는 기본적으로 활성화되어 있습니다. 이 글에서는 MySQL 8.0.12 버전을 기준으로 설명합니다.

1. MySQL 버전 확인

먼저 현재 사용 중인 MySQL 버전을 확인해 보겠습니다.

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

2. my.ini 설정 파일에서 기본 엔진 확인

MySQL 설정 파일인 my.ini를 열어보면 기본 스토리지 엔진으로 InnoDB가 지정되어 있는 것을 확인할 수 있습니다.

MySQL에서 InnoDB는 기본적으로 활성화되어 있을까?

3. 실습: 엔진 타입 명시 여부에 따른 비교

InnoDB가 기본값으로 적용되는지 직접 확인하기 위해 두 개의 테이블을 생성해 보겠습니다. 하나는 엔진 타입을 명시하고, 다른 하나는 명시하지 않습니다.

첫 번째 테이블 (엔진 타입 미지정)

mysql> create table DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.80 sec)

두 번째 테이블 (ENGINE=InnoDB 명시)

mysql> create table DemoTable2(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.76 sec)

위 두 테이블은 엔진 타입을 명시했는지 여부와 관계없이 모두 InnoDB 엔진을 사용하게 됩니다.

첫 번째 테이블의 엔진 타입 확인

mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable1';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.56 sec)

두 번째 테이블의 엔진 타입 확인

mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable2';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.00 sec)

결론

위 결과에서 볼 수 있듯이 두 테이블 모두 엔진 타입이 "InnoDB"로 표시됩니다. 특히 DemoTable1처럼 테이블 생성 시 엔진 타입을 별도로 명시하지 않았더라도, MySQL의 기본 스토리지 엔진인 InnoDB가 자동으로 적용되는 것을 확인할 수 있습니다.