database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 28097 게시물 읽기
No. 28097
myisam을 innodb로 그냥 변경해도 되나요?
작성자
이왕태(wangtae)
작성일
2009-03-23 11:13ⓒ
2009-03-23 11:14ⓜ
조회수
6,112

기존 디비가 myisam 으로 되어있는데요 이번에 테이블 전체를 innodb 엔진으로 변경하려고합니다.

이때 phpmyadmin에서 테이블 속성을 innodb로 그냥 수정해줘도 되나요?

아니면 기존 myisam 안의 데이터를 innodb로 변경하기 위해서 특별히 해주어야 하는 작업이 있나요?

이 글에 대한 댓글이 총 3건 있습니다.

인덱스쪽 제외하면 크게 영향 받는 부분은 없을 겁니다. alter table로 engine만 바꿔줘도 됩니다.

단, count(*) 같은 쿼리문이 많이 사용된다면 퍼포먼스는 심각하게 떨어집니다. 
아래 링크를 통해 innodb의 제약사항을 확인해보세요.

http://dev.mysql.com/doc/refman/5.0/en/innodb-restrictions.html



박현우(lqez)님이 2009-03-24 10:42에 작성한 댓글입니다.

네 감사합니다.


한가지 더 질문이 있는데요.


두개의 테이블을 조인해서 사용하는 경우에 하나는 innodb 엔진을 사용하고 다른 하나는 myisam 을 사용하는 경우 큰 문제가 생길까요?


조인을 하는 테이블들은 같은 엔진으로 해줘야 하는지 궁금하네요.


그래도 상관이 없다면 기존 시스템에서 트랜잭션이 필요한 테이블들만 innodb 엔진으로 변경할까 해서요.

이왕태(wangtae)님이 2009-03-24 19:57에 작성한 댓글입니다.
이 댓글은 2009-03-24 19:57에 마지막으로 수정되었습니다.

다른 엔진끼리의 조인은 흔치 않은 경우라 생각되서, MySQL 개발자 포럼을 좀 찾아봤습니다.

일단 MDB와 MyISAM의 조인의 경우에 대한 질문 글이 있었는데, MDB는 BTREE로 인덱스를 구성하고, MyISAM은 Hash로 인덱스를 구성하니, 옵티마이저측에서 쿼리 최적화의 여지가 없어, 성능에 문제가 있을꺼다... 라는 추측성 답변만 있더군요.

제가 생각하더라도 인덱스 구성 방식의 차이가 가장 큰 걸림돌이 될 것 같습니다.
일단 100,000 행 정도의 테스트 테이블을 통해 속도 차이를 비교해보시는 것이 좋을 것 같습니다.

뭐... 속도에 관계 없이, 쿼리 수행 자체에는 문제가 없을 것 같습니다.

박현우(lqez)님이 2009-03-25 17:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
28100Foreign key 삭제할 때, constraint 질문합니다. [1]
왕초보
2009-03-24
5626
28099delete관련 질문 입니다 [2]
souls
2009-03-24
4932
28098설정되어 있던 auto_increment 값이 사라집니다 ;;; [3]
김승동
2009-03-24
5231
28097myisam을 innodb로 그냥 변경해도 되나요? [3]
이왕태
2009-03-23
6112
28096mysql cluster 문의 드립니다.
정화용
2009-03-21
5170
28095판매리스팅후 합계 갯수가 나와야 하는데.. 쿼리문 조언을 구합니다.
합계
2009-03-21
5314
28094[질문] like 검색 빨리 할수 있는 방법이 없나요? [3]
새벽소리
2009-03-19
5163
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다