일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 쿼리
- dbeaber
- 데이터분석
- 조인
- 문제풀이
- sql
- 데이터베이스
- 인덱스튜닝
- Join
- MySQL
- 코딩
- 오라클
- HackerRank
- S3
- Index
- 자료구조
- 율코딩
- 인덱스
- 백준
- 백트래킹
- 개발
- 결합인덱스조건
- storage_integration
- snowflake
- dfs
- AWS
- Oracle
- DB
- 결합인덱스란
- Today
- Total
목록인덱스 (3)
율코딩
클러스터링 팩터(Clustering Factor)는 특정 컬럼을 기준으로 같은 값을 같는 데이터가 서로 모여있는 정도를 의미라며, 군집성 계수라고 표현할 수있다. CF(클러스터링 팩터)가 좋은 컬럼에 생성한 인덱스는 검색 효율이 매우 좋다. 예를 들어 거주지역 = '제주'에 해당하는 고객 데이터가 물리적으로 근접해 있으면 흩어져 있을 때보다 데이터를 찾는 속도가 빠르다. CF(클러스터링 팩터)가 좋은 컬럼에 생성한 인덱스는 검색 효율이 좋다라는 의미는, 테이블 액세스량에 비해 블록 I/O가 적게 발생함을 의미한다. 그 이유는, 인덱스 ROWID로 테이블을 엑세스할 때, 오라클은 래치 획득과 해시 체인 스캔과정을 거쳐 어렵게 찾아간 테이블 블록에 대한 포인터(메모리 주소값)를 바로 해제하지 않고 일단 유지..
결합인덱스 결합 인덱스란 두 개 이상의 컬럼을 합쳐서 인덱스를 만드는 것을 말한다. 주로 단일 컬럼으로는 나쁜 분포도를 가지지만 여러 개의 컬럼을 합친다면 좋은 분포도를 가지고, WHERE절에서 AND 조건에 많이 사용되는 컬럼들을 결합 인덱스로 구성된다. 결합 인덱스 컬럼 결정 결합 인덱스를 만들 때 결합 인덱스를 구성하는 컬럼들의 배열 순서는 아주 중요하기에 신중하게 결정해야 한다. 컬럼의 순서를 잘못 배열하면 결합 인덱스의 발동 확률이 매우 낮아질 수 있기 때문이다. 만약 select 문의 where절에 결합 인덱스의 첫 번째 컬럼을 조건에 사용하였다면 그 질의문은 결합 인덱스를 사용할 수 있다. 하지만 개발자가 결합 인덱스의 두번째 컬럼만을 where 절에 조건으로 사용하고 결합 인덱스를 사용하고..
인덱스를 타지 않는 경우 1. 인덱스 컬럼의 변형 select * from table where LOWER(name) ='word'; select * from table where idx - 1 = 5; 이 처럼 인덱스에 변형을 가하게 되면, DBMS가 인덱스를 이용하지 않는다. 2. 인덱스 컬럼의 내부적인 데이터 변환 select * from table where age = '30' 문자값 데이터타입을 갖는 컬럼에 ‘값’ → 값 을 하지 말고 정확한 데이터 타입을 넣어야 인덱스를 탈 수 있다. 3. NOT 또는 IN 연산자 사용 NOT일 경우에도 인덱스를 타긴 타지만, 일반적으로, NOT에 사용된 값이 아닌 데이터의 비율이 높은 경우가 많기 때문에 인덱스를 타지 않는 경우가 많다. 마찬가지로 IN일 경..