일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- VPC
- 시스템 성능
- 조인
- mysql error
- Linux
- MySQL
- RDS
- 주식
- 애져
- DBeaver
- 백업및복구
- 오렌지
- AZURE
- DB
- AWS
- 인덱스
- EC2
- 투자
- azure sql
- 재테크
- 파티셔닝
- 에러
- 오라클
- 개인연금저축펀드
- 데이터베이스
- 성능
- SQL Server
- oracle
- 리눅스
- 펀드
- Today
- Total
목록Database (66)
미스터 역마살
IOT란 - 테이블을 찾아가기 위한 rowid를 갖는 일반 인덱스와는 달리 IOT는 모든행 데이터를 리프블록에 저장하고 있어 ROWID를 통한 랜덤 액세스가 일어나지 않는 테이블을 말한다. 한마디로 줄여서 말하면 "인덱스 리프블록이 곧 데이 터 블록인 테이블" 이다. 특징 - 일반적으로 테이블에 데이터 삽입시 랜덤방식으로 이루어 지지만 IOT는 인덱스 구조의 테이블 이므로 정렬된 상태를 유지하며 삽입된다. - 인위적으로 클러스터링 팩터를 좋게 만드는 방법 중 하나다. - 테이블 랜덤 액세스를 발생하지 않아 빠른 성능을 자랑한다. - 데이터 입력시 성능이 느리다. IOT 사용 기준 - 크기가 작고 NL조인의 반복 Look Up 하는 테이블 - 폭이 좁고 긴(행이 많은) 테이블 - 넓은 범위를 주로 검색하는..
- Hash 조인의 특징 1. Build Input의 크기가 작을때 효과적이다. ( PGA에 할당되는 Hash Area에 담길정도로 충분히 작아야 함) 2. 해시 키값으로 사용되는 컬럼에 중복값이 거의 없을때 효과적이다. ( Hash 알고리즘의 성능은 얼마나 Hash 충돌을 최소화 하느냐에 따라 달렸다.) -Hash 조인 선택 기준 1. 조인컬럼에 인덱스가 없어 비효율 적일때 2. 조인컬럼에 인덱스가 있더라도 NL조인 드라이빙 집합에서 Inner 쪽 집합의 조인 Access 양이 많아 Random Access 부하가 심할 때 3. Sort Merge 조인 하기에는 두 테이블이 너무 커 소트부하가 심할때 4. 수행빈도가 낮고 쿼리수행시간이 오래걸리는 대용향 테이블을 조인할 때 -끝-
- Sort Merge 조인의 특징 1. NL 조인은 조인컬럼에 인덱스 유무에 영향을 받지만 Sort Merge 조인은 영향을 받지 않는다. (물론 인덱스가 있다면 좋겠지만 말이다.) 2. 양쪽 집합을 정렬한 다음 NL조인과 같은 방식으로 진행하지만 PGA영역에 저장된 데이터를 이용하기 때문에 굉장히 속도가빠르다.(소트부하만 감수한다면..) 3. 양쪽집합을 개별적으로 읽고나서 조인한다. 따라서 조인컬럼에 인덱스가 없는 상황에서 두 테이블을 독립적으로 읽어 조인대상 집합을 줄일수 있을때 아주 유리하다. 4. 스캔위주의 Access 방식 사용 5. 등치 조건 말고도 사용이 가능하다. - Sort Merge 조인이 Hash 조인보다 좋은 상황 1. First 테이블에 소트연산을 대체할 인덱스가 있을때. 2. ..
- Nested Loop 조인의 특징 1. Random Access 위주의 조인 방식이다!! 따라서 인덱스 구성이 아무리 잘되어 있더라도 대량의 데이터를 조인 할때는 비효율 적이다. 2. 한 레코드씩 순차적으로 진행된다. 이 때문에 아무리 대용량 이라도 극적인 응답속도를 낼 수 있다. (부분범위 처리가 가능할 경우) 3. 먼저 Access 되는 Table의 범위에 의해 전체 일량이 결정 된다. 4. 다른 조인 방식과 비교했을때 인덱스 구성 전략이 특히나 중요하다. 5. NL 조인을 사용하기 위해서는 조인 컬럼에 인덱스가 필요하다. 결과적으로 NL조인은 소량의 데이터를 주로 처리하거나 부분범위 처리가 가능한 OLTP성 환경에 적격이다. -끝-
집계 함수(COUNT, SUM, MIN, MAX, STDDEV, AVG) 등은 GROUP BY 절의 유무에 따라 결과 값이 바뀐다. GROUP BY 절이 있는 경우 - 0건 or 다량의 건수 결과 출력 GROUP BY 절이 없는 경우 - 무조건 1건이 출력됨 이렇게 되는 이유는 group by 절이 있을 경우는 group by로 먼저 sorting을 하게 되며 sorting 기준 컬럼값만큼의 결과 record가 나오게 되는데, 해당 집계 데이터가 없기 때문에 0건이 나오는 것이며, group by 절이 없을 경우에는 결과 데이터 전체에 대해서 집계 함수를 수행하게 되며 항상 결과 record가 1개가 나오게 된다. 그런데 결과값이 없을 경우에는 값이 미정이니 집계 ..