- 디스크에 있는 Base Table관련 데이터(인덱스 포함) 모두를 메모리로 올려 양쪽 Table의 공통 컬럼끼리 조인작업을 통해 결과를 산출한다. - 인덱스도 데이터를 가진 테이블이다. : 인덱스를 만들어야 할테이블과 만들지 말아야 할 테이블이 있다. - SQL을 컴파일 하는 옵티마이저는 RDBMS의 시스템 상황에 맞게 그때 그때 데이터 액세스 순서를 결정한다. : 드라이빙 테이블(조인 기준테이블) 건수가 적은걸 기준으로 조인 걸어야 한다. - 최적의 성능을 구하는 방법은 시시각각으로 변하며, 어떤 말을 선택시 장,단점이 존재 한다(Trade-off 관계) - 옵티마이저의 SQL 컴파일 행태를 해석하여 최적안을 구한다. - 모델링 -> SQL설계 -> 시스템 튜닝 행태로 DB튜닝을 진행한다. * 비트..
데이터 베이스 정규화 : 불만족스러운 나쁜 릴레이션의 애트리뷰트 들을 나누어서 더 작은 "좋은" 릴레이션으로 분해하는 과정 1NF : 도메인이 원자값인 데이터베이스 고객번호 고객명 취미 1 박보아 당구, 등산 2 손현태 야구 위와 같은 테이블이 있을때 1번고객의 취미가 2개로서 도메인값이 원자값이 아니게 된다. 이부분에서 제 1정규화를 이용해서 정규화를 한다면 다음과 같은 테이블로 분리된다. 고객번호 고객명 1 박보아 2 손현태 고객번호 일련번호 취미 1 1 당구 1 2 등산 2 1 야구 일련번호는 해당 취미가 여러개이기때문에 구분하기 위해 사용하는 애트리뷰트이다. 2NF : 부분적 함수종속성을 제거하는 것이다. ** 함수적 종속성 (FD : Functional Dependency) : 하나의 속성이 다..
1. MySQL 데이터베이스 백업하기. 서버를 새로 밀거나 이전을 할경우에는 DB를 백업할 필요가 생기게 된다. 그때는 파일을 복사해두는 방법도 있지만 쿼리문을 통한 백업을 익혀 두도록 하자. 먼저 mysqldump 라는 명령어가 있다. 이 명령어로 아주 편리하게 백업을 할 수 있다. >> mysqldump db_name > filename.db 이렇게 해준다면 알아서 쭉쭉쭉 될 것이다. 하지만 가끔 root 패스워드를 물으면서 거절 되었다고 나올것이다. mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect 위와 같은 메시지가 나온다면 다음과 같이 입력하자..