MySQL스토리지엔진
MySQL Storage Engine ¶송은영(f405@sds.co.kr)-작성,방창현(winchild@sds.co.kr)-정리및등록 / (주)삼정데이터서비스 연구소
최종갱신일: 2006년2월4일 11시00분
MyISAM ¶DB는 디렉토리별로 생성/관리된다.
테이블은 디렉토리 내 파일로 생성/관리되고, 하나의 테이블당 3개의 데이터파일로 구성된다.
dbakorea.frm : 테이블구조정보(스키마정보) dbakorea.myd : 순수 데이터 dbakorea.myi : 인덱스 정보 테이블을 구성하는 row는 다음과 같이 3가지 형식으로 분류할 수 있다.
다음은 사용되는 3가지 락
주의> 캐싱에 대해
InnoDB가 인덱스/데이터 캐싱 모두를 관리하는 것에 비해(MySQL서버가 관리한다는 의미)
MyISAM은, 인덱스만 MySQL서버가 관리하고, 데이터는 관리하지 않는다. (데이터는 OS 캐싱에 의존한다는 의미)
InnoDB는 innodb_buffer_pool_size, MyISAM은 key_buffer_size변수를 사용한다.
변수값보기: show variables
변수값설정: my.ini(윈도우)
Unix계열은 (/etc/my.cnf)에 set-variable=key_buffer=16M 이런 식으로 설정
3가지 인덱스 사용가능: btree, rtree(지리학 데이터), fulltext (트랜잭션 지원 안 됨)
mysqldump(SQL문으로 생성), mysqlhotcopy(이진형식으로 생성)로 백업가능
자주 사용되는 테이블들의 .myi파일크기를 합하면 대략적은 인덱스 캐싱크기를 구할 수 있다.
mysql> show variables like 'have%'; +-------------------------+---------+ | Variable_name | Value | +-------------------------+--------+ | have_bdb | NO | | have_crypt | NO | | have_compress | YES | | have_innodb | YES | | have_isam | NO | | have_raid | NO | | have_symlink | YES | | have_openssl | NO | | have_query_cache | YES | +-------------------------+--------+ 9 rows in set (0.00 sec) SQL> show parameter timed NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ timed_os_statistics integer 0 timed_statistics boolean TRUE SQL> 사용하기 ¶
|










