서버 개발/데이터베이스 일반 4

[MSSQL] 데이터 저장 구조

데이터 저장의 저장의 기본 단위가 '페이지'입니다. 페이지 관리의 기본 단위가 '익스텐트'입니다. [페이지] SQL Server의 페이지 크기는 8KB입니다. 1MB당 128페이지가 존재합니다. 각 페이지는 96바이트의 머리글로 시작하여 머리글에는 시스템 정보가 저장됩니다. 머리글 다음에 데이터 행과 이에 대응하는 행 오프셋 정보를 담고 있다. 구조는 다음과 같습니다. 대용량 행(varchar, nvarchar, varbinary, sql_variant등)의 경우에는 8KB를 초과하는 경우가 습니다. 실제 행들이 여러 페이지에 걸쳐 있을 수 없지만 이러한 행들은 전체 행의 8060바이트를 초과하면 ROW_OVERFLOW_DATA 할당 단위에 있는 페이지로 동적으로 옮기고 원래 페이지에는 이에 대한 24바..

Nested Loops/Sort Merge/Hash Join

SELECT a.FLD1, ..., b.FLD1,... FROM TAB1 a, TAB2 b WHERE a.KEY1 = b.KEY2 AND a.FLD1 = 'AB' AND b.FLD2 = '10' 1. Nested Loop Join : 어느 한쪽을 드라입밍 해서 조인하는 방식 : 실행 계획의 아이콘입니다. 중첩 루프 즉, for 루프 두 개를 연상하게 합니다. 순차적 (부분범위처리 가능) 종속적 (먼저 처리되는 테이블의 처리범위에 따라 처리량 결정) 먼저 처리되는 테이블의 범위가 넓다면 더 많은 처리량이 생기는 거죠. 랜덤 액세스 위주 연결고리 상태에 따라 영향이 큼(key2 = key1) 주로 좁은 범위 처리에 유리 2. Sort Merge Join : 테이블 각자 소트하여 머지 합니다. : 양쪽 테이블..

OLTP, OLAP, DW

OLTP(On-Line Transaction Processing) 여러 과정의 연산이 하나의 단위 프로세스(트랜잭션)로 실행되도록 하는 프로세스입니다. 즉, 흔히 말하는 "트랜잭션(Transaction) 처리" 를 OLTP 라 부른다. 예를 들어 A 테이블 업데이트 B 테이블 업데이트는 두 개의 연산이지만 하나의 트랜잭션으로 처리되게 합니다. 하나의 단위 프로세스 이므로 A 테이블을 업데이트하고 B 테이블 업데이트에서 오류가 발생하면 A테이블의 업데이트 내용도 되돌아 갑니다. OLAP(On-Line Analytical Processing) 위의 DW에서 데이터를 분석해서 의미있는 형태로 만들기 위한 과정및 도구. 의사결정 지원 시스템의 하나. DW의 통합 데이터베이스를 다양한 관점으로 추출, 분석 하는 ..

SQL의 분류 DML/DDL/DCL/TCL

SQL 명령어를 주로 DML, DDL로 분류하는 경우가 많아서 어떤 것들이 이러한 명령어인지 잘 알고 있어야 합니다. 이 밖게 DCL, TCL로 분류를 하는데 이것 또한 알아 두어야 겠습니다. 분류 명령어 설명 DML : Data Manipulation Language SELECT, INSERT, UPDATE, DELETE 테이블의 데이터를 다루는 명령어 데이터 조회, 입력, 수정, 삭제 DDL : Data Definition Language CREATE, ALTER, DROP, RENAME, TRUNCATE 테이블을 조작하는 명령어 테이블 생성, 변경, 삭제, 이름변경, 초기화 DCL : Data Control Language GRANT, REVOKE 권한 부여/제거 TCL : Transaction C..