본문 바로가기
반응형

오라클6

[DB] 인덱스란? 1. 인덱스란? 데이터 행의 검색 속도를 향상시키기 위해서 사용되는 데이터베이스 객체다 인덱스는 테이블과 독립적으로 존재한다 2. 인덱스가 왜 필요할까? Full Table Scan 대용량 데이터에 조회 비효율적이다. Index Range scan 인덱스 설정 할 시에 조회 성능이 좋아진다 10만건 기준 5.62s -> 0.01s 3. 인덱스의 구조와 원리 B+-Tree 인덱스 구조를 가진다. 4. 인덱스를 언제 쓰는 게 좋을까? where 절이나 조인조건에 자주 사용되는 경우 컬럼이 매우 다양한 값을 포함하고 있는 경우 (남녀 이런건 별로) 데이터가 아주 많은 테이블을 대상으로 조회작업을 했을 때 대부분의 조회작업에서= 검색되는 행이 전체 데이터의 10%미만인 경우 인덱스 생성이 필요하지 않는 경우 테.. 2021. 9. 5.
[프로그래머스] [Sql] [Oracle] 헤비 유저가 소유한 장소 (level3) https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 기출문제이다. 지난 번에 참여했을 때 풀었었는데 다시한번 풀어보았다. JPA를 사용하면서 sql을 직접 다루지 않다보니 많이 까먹긴 하였다. 내가 푼 풀이 (Group by + Subquery) select A.id, A.name, A.host_id fr.. 2021. 6. 14.
[DB][Oracle] DBMS_LOB 함수 성능테스트 [DB][Oracle] 오라클 DBMS_LOB 함수 성능테스트 /* LOB인 데이터를 가져올 때 사용하는 방식 */ SELECT DBMS_LOB.SUBSTR(WORK_PLAN, DBMS_LOB.GETLENGTH(WORK_PALN)) AS WORK_PLAN FROM COLUMN_A 오라클에서 함수를 사용하지 않고도 조회가 가능한데 이런식으로 한 이유는 잘 모르겠다 (성능이 더 좋은가?...) stackoverflow에서 DBMS_LOB.GETLENGTH의 경우 BLOB 데이터 타입에 사용하면 기존 length함수가 number of character를 return 하는 것과는 달리 btye length를 return 한다고 한다. 성능 테스트 SELECT DBMS_LOB.SUBSTR(WORK_PLAN, D.. 2020. 11. 18.
[SQL][Oracle] 조인이란? 조인 한 개 이상의 테이블을 사용해서 데이터를 획득해야할 때 사용된다 데이터베이스 정규화 작업을 통해서 정보들이 여러개의 테이블로 나누어서 저장/관리되기때문에 조인 작업을 SQL의 select작업에서 필수적인 기술이다. 조인을 사용하면 한번에 여러 테이블에서 데이터를 조회할 수 있다. 작성방법 SELECT table1.column, table2.column, : table1과 table2에 있는 데이터를 조회할 수 있다. FROM TABLE1, TABLE2 : 획득할 데이터가 포함된 테이블을 조인시킨다. WHERE table1.column1 = table2.column2 : 조인된 행들중에서 유효한 행만 필터링하기 위한 조건식 from 절에 조인할 테이블을 정의하면, table1의 모든 행과 table2.. 2020. 11. 8.
[SQL] [oracle] 오라클 내장함수 오라클 내장함수 SQL 작성이 사용할 수 있는 유용한 기능이 제공되는 함수 *DBMS 제품마다 조금씩 차이가 있다. 종류 단일행 함수 조회된 행마다 하나의 결과를 반환한다 종류 문자함수 : 문자를 입력값으로 받아서 계산한 결과를 반환 숫자함수 : 숫자를 입력값으로 받아서 계산한 결과를 반환 날짜함수 : Date 타입의 값에 대한 처리를 수행 변환함수 : 데이터의 타입을 변환하는 처리를 수행 기타함수 : nvl, case, decode 등의 함수가 있다. 다중행 함수(그룹함수) 조회된 행을 그룹으로 묶고 행 그룹당 하나의 결과를 반환한다 group by 절을 사용해서 조회된 행을 그룹으로 묶고 다중행 함수로 각 그룹당 하나의 결과(합계 , 평균, 분산, 표준편차, 최고값, 최저값) 등을 계산해낸다. 다중행.. 2020. 11. 8.
[프로그래머스] [oracle] [sql] 입양시각 구하기 /* 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지.. 2020. 11. 8.
반응형