Skip to content

2008.12.14 14:12

InnoDB 와 MyISAM

조회 수 8593 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

먼저 나온것이 MyISAM 타입이며, 초기에는 MyISAM 이 훨씬 속도도 빨랐습니다.
이후 InnoDB 타입이 나오면서 transaction, UNION 문법지원, FOREIGN KEY 지원등 여러가지
기능이 추가되었으며, MyISAM 타입과 InnoDB 타입의 속도는 선택적으로 차이가 나게 되었습니다.

** 참고  mysql 기본 명령어 **
show status - MySQL 데이타베이스의 현재 상황
show Processlist - MySQL 프로세스 목록
show variables - 설정 가능한 모든 변수 목록
flush logs - MySQL의 로그파일 초기화
flush status - MySQL 상태정보 초기화
flush thread - 쓰레드 캐시에 저장된 쓰레드 초기화
flush tables - MySQL에 캐싱된 테이블 초기화
flush privileges - 권한정보 재 설정

Aborted_clients - 클라이언트 프로그램이 비 정상적으로 종료된 수
Aborted_connects - MySQL 서버에 접속이 실패된 수
Max_used_connections - 최대로 동시에 접속한 수
Threads_cached - Thread Cache의 Thread 수
Threads_connected - 현재 연결된 Thread 수
Threads_created - 접속을 위해 생성된 Thread 수
Threads_running - Sleeping 되어 있지 않은 Thread 수

각각의 방식이 모두 장 단점이 있기때문에 상황에 맞도록 취사선택 하는 것이 좋을것 같습니다.

MyISAM
1. transaction 지원안함. (insert, update, delete 작업시 부가작업 않함)
2. 일반적으로 insert, update 할때 빠른 속도
3. 초당 100 query 정도에 적합 ( 일반 게시판 수준 )
4. update 시 table Lock (Table level locking )
5. Record 수가 많을 때 ALTER  에서 MyISAM  속도 양호
6. 테이블과 인덱스를 각각의 파일로 저장

InnoDB
1. Transaction, Foreign Key, UNION 문법지원
2. 동시에 읽고 쓰기가 많은 경우 ( 초당 400~ 500 query )
3. 안정성 측면에서 MyISAM 보다는 조금더 우수함.
4. update시 행단위 lock ( row level locking )
    : select 에서 읽을수 있도록 non-lock 가능
5. Record 수가 많고, 동시 사용자 수가 많은 경우 InnoDB의 성능이 어느정도 양호함.
6. Foreign Key 나 Transaction 등이 필요한 상황에서는 InnoDB 선호
7. 제공하는 기능이 다양한 반면, 프로세스 자체는 MyISAM에 비해 무거움.
8. 테이블과 인덱스를 tablespace에 저장.
9. 데이터와 인덱스를 캐시하기 위한 자체적인 buffer pool로 주 메모리를 사용
10. dump 를 이용한 백업


List of Articles
번호 제목 글쓴이 날짜 조회 수
86 초기 mysql root 패스워드 설정 및 비번 변경과 root 비번 잃어 버렸을 경우 변경하는 방법 ADMINPLAY 2008.10.30 11290
85 서버에서 mysql euckr과 utf8 같이 사용하기 ADMINPLAY 2010.05.03 12799
84 리눅스를 이용한 클러스터링 구축법 ADMINPLAY 2009.11.19 10754
83 리눅스 환경에서 mySql JDBC ADMINPLAY 2009.07.12 10356
82 [우분투] mysql, data 디렉토리 변경 file ADMINPLAY 2013.09.24 15193
81 [데이터베이스] [DBMS-MYSQL] "SHOW PROCESSLIST"시 state 종류 및 설명 ADMINPLAY 2012.01.16 15927
80 [MySQL] OPTIMIZE, TRUNCATE, 테이블복구, DB공간제한 l2zeo 2010.05.29 16489
79 [MYSQL] Mysql 테이블 검사하기 & 복구하기 ADMINPLAY 2009.06.17 8453
78 [mysql] Manager of pid-file quit without updating fi[실패] ADMINPLAY 2009.06.29 13639
77 [MySQL 5.1.4] /bin/rm: cannot remove `libtoolT': No such file or directory ADMINPLAY 2012.01.16 18415
76 Starting MySQL.Manager of pid-file quit without updating fi[실패] ADMINPLAY 2010.01.28 19866
75 SSL을 이용한 MySQL 연결 ADMINPLAY 2009.03.03 10807
74 slow Query 조사 ADMINPLAY 2009.03.17 9054
73 skip-name-resolve ADMINPLAY 2009.05.22 9069
72 Redmine database를 복구 하고자 할 때 file l2zeo 2010.03.06 15597
71 phpMyAdmin 에서 icon 과 text 중 icon 만 보이게 하기 1 file l2zeo 2013.01.21 11854
70 PHP5와 MySQL5 연동시 한글 인코딩 문제 해결방법 (UTF-8으로의 변환) 1 l2zeo 2010.03.08 12581
69 mytop 으로 mysql 모니터링하기 ADMINPLAY 2009.06.25 8733
68 MySQL의 호스트 블럭킹 & max_connect_errors ADMINPLAY 2011.03.09 17771
67 MySQL에서 Query Cache 사용하기 ADMINPLAY 2011.03.18 15859
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234