본문 바로가기

DB53

Trigger 트리거란 이름이 있는 데이터베이스 오브젝트로서 데이터베이스가 미리 정해 놓은 조건을 만족하거나 어떤 동작이 수행되면 자동적으로 수행되는 저장 프로시저이다. 또한 테이블과 연관 되어 있으며, 특정 이벤트가 테이블에 대해 발생하면 동작을 하게 된다. 예를 들면, 아래의 명령문은 하나의 테이블과 하나의 INSERT 트리거를 생성한다. 트리거(Trigger)의 원 의미는 ‘방아쇠’이다. 데이터베이스에서 트리거는 바로 이러한 의미를 유추한다면 어떤 역할을 하는지 쉽게 짐작할 수 있을 것이다 데이터베이스에서 트리거는 특정 이벤트(event)나 DDL, DML 문장이 실행되었을 때, 자동적으로 어떤 동작(Operation)이나 처리를 수행하도록 하는 데이터베이스 객체의 하나이다. 일반적으로 트리거는 임의의 테이블에 .. 2012. 3. 28.
MySQL 데이터를 자기의 홈에 쌓이게 하는 방법 일반적으로 Mysql을 사용하는 모든 사용자의 데이터는 Mysql홈디렉토리의 data란 디렉토리밑에 DATABASE이란 디렉토리밑에 생성이 된다. 하지만 모든 사용자의 DB가 여기에 있다면 엄청난 데이터가 한곳으로만 쌓이게 될 것이다. 이에 필자는 각 도메인별 홈페이지의 웹로그가 계정밑으로 쌓이게 했듯이 Mysql의 계정별 데이터또한 계정별 디렉토리에 쌓이게 하는 것이 데이터관리나 여러가지 관리측면에서 좋을 것 같다는 견해로 다음과 같은 방법을 권한다. 가정1 : Mysql이 설치된 홈디렉토리를 /usr/local/mysql 로 가정한다. 가정2 : 대상이 되는 Database명을 orion으로 한다. 가정3 : orion의 홈디렉토리를 /host2/orion 으로 한다. 1. 홈디렉토리 밑에 mysql.. 2012. 3. 27.
MySQL Storage Engine 정리 아래 글들을 정리했음. http://dev.mysql.com/tech-resources/articles/storage-engine/part_1.html http://dev.mysql.com/tech-resources/articles/storage-engine/part_2.html http://dev.mysql.com/tech-resources/articles/storage-engine/part_3.html http://www.mysql.com/news-and-events/newsletter/2002-12/a0000000091.html [MySQL Storage Engine] MyISAM DB는 디렉토리별로 생성/관리된다. 테이블은 디렉토리내 파일로 생성/관리되고, 하나의 테이블당 3개의 데이터파일로 구성.. 2012. 3. 27.
왜 MySQL 에서 InnoDB 를 써야하는가? InnoDB vs MyISAM 비교 Overview MySQL에서는 MyISAM, InnoDB, Archive 등과 같은 훌륭한 엔진을 제공합니다. 목적에 맞게 적절(?)하게 사용을 한다면, 기타 고 비용 상용 DBMS 부럽지 않게 DB를 구성할 수 있습니다. 물론 적절이라는 말이 세상에서 가장 난해한 단어겠지만요.^^ 사실 OLTP 성 서비스에는 대부분 innodb위주로 설정을 해왔기에, 특별하게 MyISAM 영역에 대해서는 신경을 쓰지 않았습니다. 단순하게 해당 스토리지 엔진의 특성만 기억하고 있었지, OLTP 성격의 서비스에 굳이 투입하고 싶지도 않았고요. 하지만 얼마전 공간 인덱스(R-Tree)에 관한 요구사항이 발생하여 어쩔 수 없이 MyISAM 위주로 구성을 한 Case가 있습니다. 그래서 MyISAM 스토리지 엔진에 관한 간단.. 2012. 3. 27.