본문 바로가기

database5

SQL 옵티마이저 옵티마이저 : 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할 수행 규칙기반 옵티마이저 우선순위를 가지고 실행계획을 생성한다. 우선 순위가 높은 규칙이 적은 일량으로 해당 작업을 수행한다고 판단한다, 인덱스 유무와 SQL문에서 참조하는 객체등을 참고 비용기반 옵티마이저 현재 대부분의 DB에서 사용, SQL문을 처리하는데 필요한 비용이 가장 적은 실행계획을 선택하는 방식, 비용이란 SQL문을 처리하기 위해 예상되는 소요시간 또는 자원 사용량을 의미, 테이블,인덱스,칼럼 등 다양한 객체 통계정보와 시스템 통계정보 등을 이용한다. 실행계획 SQL에서 요구한 사항을 처리하기 위한 절차와 방법을 의미, 실행계획을 구성하는 요소에는 조인 순서, 조인 기법, 액세스 기법, 최적화 정보, 연산 등이 .. 2020. 9. 24.
SQL 활용 계층형 질의 : 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용 SATRT WITH : 계층 구조 전개의 시작 위치 지정 CONNECT BY : 다음에 전개될 자식 데이터 지정 PRIOR : CONNECT BY 절에 사용되며, 현재 읽은 칼럼을 지정한다. PRIOR 자식 = 부모 형태를 사용하면 계층구조에서 부모 데이터에서 자식 데이터(부모->자식) 방향으로 전개하는 순방향 전개를 한다. 반대는 역방향 전개 NOCYCLE : 동일한 데이터가 전개되지 않음 ORDER SIBLINGS BY : 형제 노드간의 정렬 수행 WHERE : 모든 전개를 수행한 후에 지정된 조건을 만족하는 데이터만 추출한다.(필터링) LEVEL : 루트 데이터이면 1, 그 하위 데이터면 2, 리프 데이터까지 1씩 .. 2020. 9. 24.
SQL 기본 DB : 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것을 의미한다. DBMS : 효율적인 데이터 관리 뿐만 아니라 예기치 못한 사건으로 인한 데이터의 손상을 피하고, 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 SW DB 발전 1960 : 플로우차트 중심의 개발, 파일구조 사용 1970 : DB 관리기법이 처음 태동, 계층-망형 DB등장 1980 : 관계형 DB 상용화, Oracle, Sybase 등장 1990 : 객체 관계형 DB로 발전 SQL : 관계형 DB에서 데이터 정의, 조작, 제어를 위해 사용하는 언어 SQL 문장들의 종류 DML : SELECT, INSERT, UPDATE, DELETE 등 데이터 조작어 DDL : CREATE, ALTER, DRO.. 2020. 9. 24.
데이터 모델과 성능 성능 데이터 모델링 : DB 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무 비용을 최소화 할 수 있는 기회를 가지게 된다. 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가하게 된다. 성능 데이터 모델링 고려사항 순서 1. 데이터 모델링을 할 때 정규화를 정확하게 수행 2. DB 용량산정을 수행한다. 3. DB에 발생되는 트랜잭션의 유형을 파악한다. 4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행 5. 이력모델의 조정, PK/F.. 2020. 9. 24.