본문 바로가기

반응형

기초이론/DataBase

(4)
인덱스(Index)와 힌트(Hint) 인덱스(Index) 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조이다. 특정 컬럼에 인덱스를 생성하면 해당 컬럼에 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장된다. 쿼리문에 인덱스가 생성된 컬럼을 WHERE 조건으로 걸어주면 옵티마이저가 판단하여 생성된 인덱스를 탈 수 있다. 옵티마이저 : 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다. 목차와 같은 역할을 한다. 인덱스(Index)의 구조 자료 구조에는 배열, 리스트, 스택, 큐, 해시, 트리 등 수많은 종류가 존재한다. 그 중에서도 인덱스에서 가장 많이 쓰이는 구조는 트리구조이며, 그 중에서도 'B Tree' ..
엘라스틱 서치(Elasticsearch) 엘라스틱 서치(Elasticsearch) 아파치 루씬(Apache Lucene) 기반의 JAVA 오픈소스 분산 검색 엔진이다. 엘라스틱 서치를 통해 루씬 라이브러리를 단독으로 사용할 수 있다. 방대한 양의 데이터를 신속하게 거의 실시간(NRT : Near Real Time)으로 저장, 검색, 분석할 수 있다. 즉, 루씬이라는 검색 라이브러리를 기반으로 검색 기능을 제공하는 오픈소스 검색엔진을 말한다. 사용 사례는 다음과 같다. 어플리케이션, 웹사이트 등의 검색 로깅, 로그 분석 보안 및 비즈니스 분석 애플리케이션 성능 모니터링 위치기반 정보 데이터 분석 및 시각화 비즈니스 인텔리전스 Business-Intelligence(BI) : 조직이 더 나은 의사 결정을 내리고 보다 효율적인 비즈니스 프로세스를 구..
JOIN 이란 JOIN 이란 2개 이상의 테이블을 연결하여 데이터를 검색하는 방법 JOIN의 종류 INNER JOIN NATURAL JOIN SELF JOIN OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN CROSS JOIN 일반적으로 조인이라고 하면 이 정도가 전부라고 알고 있다. 그러나 위에 있는 조인들은 FROM 절의 조인 형태에 따라 구분되는 조인들이고, 추가적으로 [연산자]에 따라 분류되는 다음 조인들도 존재한다. 이들에 대해서는 간단하게만 알아볼 것이다. EQUI JOIN NON EQUI JOIN 1. INNER JOIN JOIN 조건에서 값이 일치하는 행만 반환한다. 기준 테이블과 JOIN 테이블에 중복되는 값을 보여준다. 교집합 사용 형태 조인..
UNION 과 UNION ALL 이란 UNION 이란 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 제거하고 보여준다. 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다. UNION ALL 이란 UNION과 동일하게 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법이다. 중복된 값을 모두 보여준다. 사용형태 컬럼명이 동일해야 한다. (같지 않을 경우 AS 를 이용해서 동일하게 맞춰줘야 한다.) 컬럼별로 데이터 타입이 동일해야 한다. 출력할 컬럼의 개수가 동일해야 한다. 출력할 컬럼명을 차례로 적고, 알리어스(AS) 를 통해 컬럼명을 동일하게 맞춰준다. SELECT A AS one, B AS two FROM TABLE_A UNION (또는 UNION ALL) SELECT..