| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 시스템 성능
- oracle
- 오라클
- 펀드
- DBeaver
- DB
- SQL Server
- MySQL
- azure sql
- 에러
- 백업및복구
- 인덱스
- 개인연금저축펀드
- 주식
- 데이터베이스
- Linux
- 리눅스
- VPC
- EC2
- 파티셔닝
- AWS
- 재테크
- mysql error
- 성능
- RDS
- 애져
- AZURE
- 투자
- 조인
- 오렌지
- Today
- Total
목록oracle (31)
미스터 역마살
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. ..
집계 함수(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개가 나오게 된다. 그런데 결과값이 없을 경우에는 값이 미정이니 집계 ..
1. Table 테이블이란 데이터가 저장되는 논리적 공간으로 열과 행을 가지며, 속해있는 테이블 스페이스 공간만큼 확장이 가능함 ○ 테이블 이름 지정 규칙 문자로 시작해야함최대 30자까지 지정 가능A-Z, a-z, _ , $, # 등 사용가능동일 스키마 내에서는 유일한 명칭이어야 함DBMS의 예약어는 사용할 수 없음○ 데이터 타입 ○ 테이블 생성/추가/수정/삭제 2. View View란 물리적인 테이블을 근거로 한 논리적 가상 테이블의 역할을 하는 것을 말한다. 실제 물리적으로 데이터가 위치하는 것이 아니기 때문에 테이블이라고 부르기 보다는 뷰쿼리라고 부른다. ○ View의 특징뷰는 실제 데이터가 저장된 세그먼트가 아니므로 인덱스를 생설할 수 없다.실제 데이..
DELECT, TRUNCATE, DROP 이 3가지 모두 삭제하는 명령어 이다. 하지만 이들은 중요한 차이점이 있다. 한번 알아보자 먼저 DELECT의 경우는 테이블 상의 데이터는 지워지지만 디스크상의 공간은 그대로 가지고 있다. 그래서 데이터가 DELECT 되어도 테이블의 용량은 줄어들지 않는다. 또한 원하는 데이터만 골라서 삭제가 가능하다. 하지만 TRUNCATE의 경우는 모든 데이터를 한꺼번에 삭제한다. TRUNCATE의 경우는 최오에 테이블이 만들어 졌던 상태, 즉 데이터가 1건도 없는 상태로 모든 데이터를 삭제하고 컬럼값만 남겨 놓게 된다. 용량도 줄어들고 인덱스 등도 모두 삭제되는 특징이 있다. 그리고 DROP 의 경우는 데이터와 테이블 전체를 삭제하게 된다. 그리고 사용하고 있던 공간도 모두..