반응형
가끔씩 일을 하다보면 DBA로부터 이런 말을 들을때가 있다.
"DML은 몇번 서버에서 해주시고, DDL 하실때는 몇번 서버 에서만 해주세요"
위와 같은 말을 들었다면, DML과 DDL을 정확하게 구분해서 업무 처리를 할 필요가 있다.
특히 MySQL 서버에서 replication으로 기동중이고 master-slave 형식을 하고 있는 DB의 경우
slave에 DDL 명령어를 수행하면 아주 피곤한 문제가 발생할 수 있다.
1. DML (Data manipulation language)
DB에서 데이터를 조작하는 명령어. 즉 우리가 가장 많이 사용하는 SELECT, INSERT, UPDATE, DELETE 등이 해당된다.
2. DDL (Data definition language)
DB를 정의하는 명령어. 대표적으로 CREATE, DROP, ALTER, TRUNCATE 가 해당된다.
3. DCL (Data Control language)
DB에 데이터를 제어하기 위한 명령어. COMMIT, ROLLBACK, GRANT, REVOKE 등이 해당된다.
'DataBase' 카테고리의 다른 글
[MySQL] Limit 구문 사용하기 (0) | 2014.08.11 |
---|---|
[DBMS] 간단한 Null 체크 방법 (0) | 2014.07.31 |
[MySQL] GROUP_CONCAT 사용하기 (6) | 2014.07.28 |
[MySQL] 사용자 계정 생성 및 권한 주기 (0) | 2014.07.24 |
[MySQL] DB 백업 및 복구 (import / export) (0) | 2014.07.24 |