디비 테이블 엔진 MyISAM -> InnoDB 변경 > 기술자료 | 해피정닷컴

디비 테이블 엔진 MyISAM -> InnoDB 변경 > 기술자료

본문 바로가기

사이트 내 전체검색

디비 테이블 엔진 MyISAM -> InnoDB 변경 > 기술자료

MySQL 디비 테이블 엔진 MyISAM -> InnoDB 변경

페이지 정보


본문

InnoDB는 mySQL 에서 사용하는 데이터베이스 엔진입니다
트랜젝션 세이프 스토리지 엔진으로서 대용량 데이타를 처리 할 때 많은 장점이 있습니다.
또한 InnoDB는 오라클과 비슷한 기능을 제공합니다
(commit, reollback, 장애복구, row-level locking, 외래키 등)


1. InnoDB 장단점

1-1. 장점
우수한 성능
다수의 사용자가 동시접속을 할 수 있고, 대용량 데이터 처리를 할 수 있다.
데이터 테이블과 인텍스를 테이블 스페이스에 저장하고 테이블 스페이스는 파일과 파티션으로 구성되어 있다.
따라서 성능이 우수하다

데이터 무결성 보장
InnoDB 설계시 데이터 무결성에 중점을 두었기 때문에 데이터 무결성이 좋다

장애 복구 기능
단순하게 장애 복구를 하지 않고 논리적으로 장애 복구를 수행한다


1-2. 단점
Deadlock 발생
NODE간 데이터 체크로 인해서 Deadlock이 발생할 가능성이 존재함

많은 자원 소모
대용량 처리를 하게 된다면, 순간적으로 많은 자원을 소모한다.

데이타 복구의 어려움
단순하게 파일 백업으로 복구하는게 아니라 특정한 방법으로 복구를 수행함


2. MyISAM vs InnoDB

2-1. InnoDB가 유리한 경우
대용량의 데이터를 컨트롤 하는 경우
트랜잭션 관리가 필요한 경우 
복구가 필요한 경우
정렬( order by ) 등의 구문이 들어가는 경우
IUD (insert , update , delete) 등이 빈번하게 발생하는 경우 (Row-level locking 때문)


2-2. MyISAM 이 유리한 경우
select 위주의 작업만 필요한 경우
전문 검색이 필요한 경우
트랜잭션이나 복구등이 필요없을 경우
한번에 대량의 데이터를 입력하는 배치성 테이블


3. InnoDB 에서 MyISAM 으로 변경하는 이유
오래된 mysql 버전에서는 MyISAM 이 default Engine 으로 사용되었고
I/O 가 빠르다는 장점과  sequence 를 지원하지 않는 mysql의 특성 때문에 MyISAM 를 사용하는 시스템이 많았음.
그러나 Row-level locking 인 InnoDB에 비해 Table-level locking 인 MyISAM 은 dml이 많은 시스템에선 한계가 있고
거듭된 향상으로 InnoDB의 속도도 MyISAM 과 차이없을 만큼 빨라지는 등 특별한 이유가 아니면 InnoDB 사용이 권장됨


4. 변경 방법 

4-1. phpMyAdmin 쿼리창에서 변경
> alter table 테이블명 engine=innodb;


4-2. 기존 테이블을 덤프 후 새로 innodb 로 생성


참고자료
https://sarc.io/index.php/mariadb/1126-myisam-innodb
https://neocan.tistory.com/396?category=854152

댓글목록

등록된 댓글이 없습니다.


Total 111건 1 페이지
  • RSS
기술자료 목록
111
MySQL   1032  2024-03-29 14:14 ~ 2024-03-29 14:14  
110
MySQL   1557  2024-01-08 17:37 ~ 2024-03-14 16:00  
109
MySQL   4542  2023-04-25 11:36 ~ 2023-04-25 11:37  
108
MySQL   3224  2023-01-30 12:11 ~ 2023-01-30 12:23  
107
MySQL   4092  2022-12-28 21:09 ~ 2022-12-29 06:32  
106
MySQL   3180  2022-12-02 15:40 ~ 2022-12-02 15:41  
105
MySQL   6151  2022-11-22 07:37  
104
MySQL   3206  2022-11-22 07:34 ~ 2022-12-02 12:14  
열람
MySQL   3179  2022-11-21 12:10 ~ 2022-11-21 12:18  
102
MySQL   3280  2022-11-16 19:05 ~ 2023-03-03 17:04  
101
MySQL   2982  2022-10-31 16:21 ~ 2022-11-01 09:51  
100
MySQL   3160  2022-10-12 17:39  
99
MySQL   4571  2022-09-29 00:24 ~ 2022-09-29 00:25  
98
MySQL   7497  2022-07-29 19:40 ~ 2022-07-29 19:49  
97
MySQL   5396  2021-12-08 19:53  
96
MySQL   5688  2021-12-08 18:43 ~ 2021-12-08 19:43  
95
MySQL   4774  2021-12-05 00:09 ~ 2021-12-08 19:42  
94
MySQL   5099  2021-12-02 08:36 ~ 2021-12-02 14:57  
93
MySQL   7363  2021-11-24 00:17 ~ 2021-11-24 00:22  
92
MySQL   4192  2021-11-08 16:13 ~ 2021-11-08 17:29  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.