일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- mssql프로시저검색
- 독학
- mssql호환성수준확인
- SQLD
- 분할정복법
- 톰캣버전확인
- 선택정렬
- 윈도우11인터넷없이설치
- w3wp.exe
- mssql호환성수준
- It
- it자격증추천
- 윈도우11네트워크없이설치
- windows11setup
- mssql함수검색
- 프로세스에연결
- 비밀번호
- 삽입정렬
- 코테
- windows11install
- SQL
- 호환성수준변경
- 상태공간트리
- sql튜닝
- 예제
- GROOUPING SETS
- 순환
- 알고리즘
- 코딩테스트
- adsp공부방법
- Today
- Total
목록sql튜닝 (4)
404 not found
SUBQUERY와 함수의 활용 1. SUBQUERY의 종류 FROM 절: InlineVIEW WHERE절: Correlated Subquery / Nested Subquery >SELECT 옆, WHERE절 ORDER BY절에 위치한 서브쿼리를 Scalar Subquery라 부른다. >GROUP BY 절을 제외하고는 어디든 서브쿼리가 위치할 수 있다. 2. NESTED SUBQUERY SELECT empno, ename FROM emp WHERE deptno = (SELECT deptno FROM dept WHERE dname = 'SALES'); > SUBQUERY가 가장 먼저 행해진다. 3. CORRELATED SUBQUERY SELECT ename, empno FROM emp WHERE EXISTS..
SORT/MERGE/HASH 조인 1. SORT/MERGE JOIN : 연결고리에 인덱스가 전혀 없는 경우 : 대용량의 자료를 조인해야 함으로써 인덱스 사용에 따른 랜덤 액세스의 오버헤드가 많은 경우 ① 각 테이블에 대해 동시에 독립적으로 데이터를 먼저 읽어 들임 ② 일혀진 각 테이블의 데이터를 조인을 위한 연결고리에 대하여 정렬을 수행함 ③ 정렬이 모두 끝난 후에 조인 작업이 수행됨 * 튜닝포인트 : 각 테이블로부터 데이터를 빨리 읽어 들이도록 함 : 메모리를 최적화함 2. SORT/MERGE JOIN의 수행 절차 가정: color만 인덱스임 SELECT /*+USE_MERGE(a b)*/ a.color, ..., b.size, ... FROM table_a a, table_b b WHERE a.joi..
인덱스 1. 인덱스의 필요성 사용자가 인덱스를 사용하는 이유 : 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기위해 인덱스를 생성 일반적으로, 인덱스는 테이블 전체 데이터 중 10~15% 이하의 테이블을 처리하는 경우에 효율적 2. B*Tree 구조 : 가장 많이 사용되는 인덱스의 구조/인덱스의 데이터 저장방식 : Root / Branch / Leaf Node * Branch 노드 : Leaf 노드에 연결되어있으며, 조회하려는 값이 있는 Leaf노드까지 도달하기 위해 비교/분기해야 될 값들이 저장됨 * Leaf 노드 = 인덱스 칼럼의 값(오름/내림 차순으로 Sort되어 저장됨) + ROWID(테이블에 있는 해당 row를 찾기위해 사용되는 논리적인 저장위치 정보) B*Tree 구조의 핵심은 Sort 1)..
실행계획 1. 실행계획의 정의 : 사용자가 SQL을 실행하여 데이터를 추출하려고 할 때, 옵티마이저가 수립하는 작업절차 OPTIMIZER: SQL 해석 > 실행계획 수립 > 실행 2. 실행계획 확인 방법 EXPLAIN PLAN SQL에 대한 실행계획만을 확인할 수 있다. 명령을 사용할 때 데이터 처리과정은 없다. 데이터 처리를 직접 하지 않기 때문에 데이터 베이스에 그 어떤 부하도 있지 않다. 단점) 여러 SQL을 실행시킬 수 없다. PLAN테이블에 저장해둔 정보를 확인하기 위하여 별도의 SELECT 문을 작성해야한다. 데이터를 읽지 않기때문에 소요시간 측정 불가능, 데이터 처리 시 IO관련 정보를 확인할 수 없다. SET AUTOTRACE 한 번의 명령으로 여러개의 SQL에 대한 실행계획을 바로 볼 수..