DB 3

[DB] DBeaver로 쿼리 실행 계획 분석

페이징 처리 기능을 구현하면서 OFFSET 방식과 ROW_NUMBER 방식 중 어떤 방식이 쿼리 성능에 더 좋을지 고민하다 성능 테스트를 해보았다. DBeaver로 테스트를 진행하게 되어서 정리 해보려 한다. 테스트할 쿼리를 작성한 후 Ctrl + Shift + E를 누르면 실행 계획을 볼 수 있는 팝업창이 뜬다.이때 ANALYZE, COSTS, TIMING 옵션을 체크한 후 실행하면 보다 정확한 실행 계획을 확인할 수 있다.🔹ANALYZE: 실제 쿼리를 실행하여 실행 시간과 row 수 등을 측정🔹COSTS: 쿼리의 비용 정보(cost)를 출력🔹TIMING: 각 단계별 실행 시간을 출력  Node Type: sql을 실행시키는 각각의 단계Entity: 조회하는 테이블Cost: sql 실행하는 데 걸..

DataBase/STUDY 11:11:54

[Oracle] 오라클 인덱스(Index) 사용방법

✔️ 인덱스(Index)란?인덱스는 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 저장된 데이터의 검색 속도를 향상시키기 위한 자료 구조이다.데이터베이스에서 검색 성능을 높여주는 방법으로, 관계형 데이터베이스에서 B+Tree 구조로 된 인덱스를 사용하여 검색 속도를 향상시킨다.특히 select ~ where 등의 쿼리와 같이 특정 데이터를 찾을 때 빠른 속도로 검색할 수 있도록 해준다. ✔️ 인덱스를 사용하는 이유테이블의 데이터는 순서와 상관없이 쌓이게 되므로 특정 조건의 데이터를 찾기 위해서는 테이블의 모든 데이터에 접근하여 비교하며 찾는다.그러나 인덱스를 사용하면 search-key가 정렬되어 있기 때문에 조건 검색 시 속도가 빠르다.where절에서 자주 조회하고, 수정 빈도가 낮고..

DataBase/STUDY 2024.09.25

[Oracle] Docker를 이용한 Oracle 설치

윈도우 서비스 내(services.mnsc) Oracle관련 서비스 종료[윈도우 + R] -> services.msc 입력 - OracleServiceXE 시작유형: 수동으로 바꾼 후 중지 시키기 Oracle과 관련된 service 모두 수동, 중지  Docker에서 Oracle 이미지 컨테이너를 다운로드 후 실행Docker Desktop starting 클릭 명령 프롬프트창 켜기 > docker --version Docker version 26.1.1, build 4cf5afa > docker pull container-registry.oracle.com/database/free:latest lastest: .... > docker images > docker run -d -p 1521:15..

DataBase/STUDY 2024.06.13