본문 바로가기

서버구축208

MySQL InnoDB 스토리지 엔진 * InnoDB란? * InnoDB 설정 [InnoDB란?] InnoDB 스토리지 엔진은 대용량 데이터를 처리할때 최고의 성능을 낼 수 있도록 설계되었으며 디스크기반의 여타 다른 스토리지 엔진 보다 우수하다. InnoDB 스토리지 엔진은의 가장 두드러진 점은 트랙젝션 기능이 있다. 또한 로우 레벨 락킹이 가능하며 Foreign Key도 지원한다. InnoDB 스토리지 엔진은 자신만의 테이블 스페이스 및 버퍼 풀을 가지고 있다. 테이블 스페이스는 데이타 및 인덱스를 저장하기 위해 쓰이며 버퍼 풀은 메모리에 데이터와 인덱스를 캐싱하기 위해 활용된다. 테이블 스페이스는 여러개의 파일로 구성 할 수 있으며 테이블 단위로 테이블 스페이스를 만들어 줄 수 있다. 또한 OS의 파일 처리 시스템이 최대 2G로 되어 있.. 2008. 12. 17.
[MySQL] InnoDB Performance tuning tips InnoDB는 MyISAM과 공유하는 메모리도 있지만 대개 별도의 Buffer pool을 가지고 있습니다. 즉, MyISAM의 경우 record_buffer나 key_buffer를 사용하지만 InnoDB는 innodb_additional_mem_pool_size나 innodb_buffer_pool_size 같은 별도의 메모리를 사용합니다. 따라서 InnoDB전용 DB를 구성한다면 key_buffer나 record_buffer 에 너무 많은 메모리를 할당해서는 안되겠습니다. 중요한 메모리 관련 파라미터를 몇가지 설명하겠습니다. 1. innodb_buffer_pool_size : MyISAM의 경우 Buffer pool이 없습니다. 따라서 OS자체의 buffer cache를 사용하며 OS의 flush 메카니.. 2008. 12. 17.
MySQL Functions 생성, Stored 루틴 및 트리거 바이너리 로깅 먼저 function 을 만들려는 데 다음과 같은 에러가 발생했다. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 처리방법 1. mysql 서버를 시작할 때 다음 옵션을 추가 한다. --log-bin-trust-function-creators=1 2. 계정에 접속해서 다음을 실행한다. mysql>SET GLOBAL log_bin_trust_function_creator.. 2008. 12. 16.
MySQL에서 Query Cache 사용하기 Query Cache MySQL 서버에서 Query Cache를 사용하고 있으며, SELECT 문을 수행한 결과의 텍스트 내용이 query cache에 저장하게 된다. (mysqld --query_cache_size=#을 지정하여 데몬을 시작한 경우) 앞서 진행했던 것과 동일한 query를 나중에 다시 받게 되면, 서버는 전에 query cache에 저장한 내용에서 클라이언트에 보낸다. query cache는 테이블 내용이 자주 바뀌지 않거나, 동일한 쿼리를 반복하는 경우에는 아주 유용하다. Query Cache에서 다음 두 문장은 다르게 처리된다. mysql> SELECT * FROM tbl_name; mysql> select * from tbl_name; query cache에서 결과를 받아오려면 두.. 2008. 10. 27.
MySQL 데이터베이스 최적화, MySQL 성능을 200%로 2 : MySQL 엔진 튜닝 MyISAM & InnoDB MySQL 데이터베이스 최적화, MySQL 성능을 200%로 2 MySQL 엔진 튜닝 MyISAM & InnoDB 김병준 | 아이티브릿지 MySQL 기술지원 팀장 MySQL의 수많은 장점 중 가장 큰 장점을 꼽는다면 하나의 데이터베이스 시스템 안에 다양한 스토리지 엔진이 있다는 것이다. 그 중 대표적인 것이 MyISAM과 InnoDB 엔진이다. MyISAM은 주로 트랜잭션이 필요 없고 Select 쿼리가 많은 데이터베이스에 쓰이며 InnoDB는 트랜잭션과 DB를 변경하는 작업이 많은 데이터베이스에 사용된다. MySQL이라는 하나의 데이터베이스 시스템 안에 있는 엔진이지만 두 스토리지 엔진은 완전히 별개의 튜닝 요소들을 가지고 있다. 이번 호에서는 이 두 스토리지 엔진의 특성 및 최적화에 대해 알아보자. .. 2008. 10. 22.