본문 바로가기

전체 글

(142)
[Oracle] SQL Performance - View 사용 주의 View를 사용하면 코드 유지보수성은 좋아질 수 있으나 성능관점에서는 결과가 안좋을 수 있다. 아래 예시를 살펴보자. Employees 테이블 NOEMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILDEPARTMENT_ID1198DonaldOConnellDOCONNEL502199DouglasGrantDGRANT503200JenniferWhalenJWHALEN10 Departments 테이블NODEPARTMENT_IDDEPARTMENT_NAMEMANAGER_IDLOCATION_ID110Administration2001700220Marketing2011800330Purchasing1141700 Locations 테이블NOLOCATION_IDSTREET_ADDRESSPOSTAL_CODECITY110..
[Oracle] Oracle Join 종류 정리 #2 테이블 3개에 대해서 Join결과를 확인해 본다. 아래와 같이 테스트 테이블 3개가 존재한다. Employees 테이블 전체 행 (PK: EMPLOYEE_ID, FK: DEPARTMENT_ID) - 88번 row는 department_id가 nullNOEMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILDEPARTMENT_ID1198DonaldOConnellDOCONNEL502199DouglasGrantDGRANT503200JenniferWhalenJWHALEN104201MichaelHartsteinMHARTSTE205202PatFayPFAY206203SusanMavrisSMAVRIS407204HermannBaerHBAER708205ShelleyHigginsSHIGGINS1109206Willi..
[Oracle] and system_cd(+) = 'COM' 과 같이 상수값 비교 조건에도 (+)가 붙는 이유 Oracle의 옛날 조인 문법(= “오라클 전용 OUTER JOIN 문법”) 에서 (+)를 사용하는 경우,AND 절의 모든 조건이 "조인 대상 테이블" 기준으로 일관되게 처리되어야 하기 때문입니다.🔹배경 설명예를 들어 아래와 같은 쿼리가 있다고 합시다:SELECT a.user_id, b.system_cdFROM user_info a, system_info bWHERE a.user_id = b.user_id(+)AND b.system_cd(+) = 'COM'; 🔹 (+)의 의미(+)는 해당 테이블이 OUTER JOIN의 “부수적인 테이블” 이라는 뜻입니다.즉, b 테이블이 없어도 a의 데이터는 모두 나오게 하라는 의미죠.🔹 그런데 왜 상수 조건에도 (+)가 붙을까?Oracle의 구식 (+) 문법에서는..
[Oracle] Oracle Join 종류 정리 Oracle을 포함하여 DB마다 Join은 기본적인 연산 기능이다. ANSI로 표준화되어있지만 여전히 Oracle전용 문법을 많이 사용하고 있으므로 Oracle 문법도 같이 비교하면서 Join을 정리해 본다. Employees 테이블 전체 행 (PK: EMPLOYEE_ID, FK: DEPARTMENT_ID) - 88번 row는 department_id가 nullNOEMPLOYEE_IDFIRST_NAMELAST_NAMEEMAILDEPARTMENT_ID1198DonaldOConnellDOCONNEL502199DouglasGrantDGRANT503200JenniferWhalenJWHALEN104201MichaelHartsteinMHARTSTE205202PatFayPFAY206203SusanMavrisSMAVR..
[DB] Oracle Docker 이미지로 CDB, PDB 기반 설치하기 오라클 12c버전부터 Container Database, Pluggable Database 개념이 도입되어 하나의 Oracle Databse Instance에서 여러개의 스키마를 격리하여 설치할수 있게 되었다. Oracle 공식 Repository에서는 Docker Image를 제공하고 있으므로 이를 이용해서 Oracle을 설치해 보도록 한다. https://container-registry.oracle.com 위 주소가 공식 Repository 주소이다. 접속을 한 후에 Oracle 계정으로 Sign in을 한다. (계정이 없으면 생성 필요) 계정으로 로그인 한 후에 Database -> enterprise를 선택한 후 우측에 약관 동의에 동의를 수행한다. 이를 안하면 docker login시에 계속 ..
[IntelliJ] Spring boot web 초기 설정 IntelliJ에서 처음 부터 Spring Boot Web app을 만드려면 몇가지 설정할게 있다. IntelliJ를 실행후 New Project를 선택하고 New Project 팝업에서 아래와 같이 기본 정보들을 입력한다.- Spring Boot 지정- 프로젝트 Name 입력- Type 설정 (아래 Maven 선택)- Package 명, Artifact 명 설정 위 설정에서 Next를 입력하고 Spring Boot 구성 요소들을 선택한다. Web 카테고리의 Spring Web항목은 꼭 선택하도록 한다.우측 하단에 선택된 요소들이 모두 표시된다. 프로젝트를 생성하면 기본적으로 Web app을 인식해서 Maven Dependency들이 다운로드 되고 우측 상단에 Run Confuguration도 잡힌다...
[Kubernetes] Metrics Server 설치 kubernetes를 사용하다보면 특정 노드나 Pod에서 사용하는 CPU, Memory 사용량을 확인해보고 싶을 때가 있다. 이때는 Metrics Server를 설치하여 각 Object들의 자원 사용률을 측정할 수 있다. Metrics Server는 Kubernetes 클러스터 내에서 자원 사용량을 집계하는 경량화된 서비스이다. CPU나 메모리 사용량에 기반하여 파드의 수를 자동으로 조절하고 노드와 파드의 자원 사용량을 확인할 수 있다. Prometheus와 같은 복잡한 모니터링 솔루션과 달리, Metrics Server는 오토스케일링에 필요한 단기적인 메트릭 수집에 특화되어 있다. Kubernetes 공식 Metircs Server 설치 방법kubectl apply -f https://github.c..
DBeaver에서 DB Table Data로딩시 "Load TableCache" 가 오래 걸릴때 DBeaver에서 Oracle등의 DB를 연결해서 테이블 스페이스에 저장된 테이블 정보를 가져올 때 "Load TableCache" 작업이 엄청 오래 걸릴때가 있다. 주로 데이터가 많거나 테이블 수 또는 구조가 복잡한 케이스의 경우가 많을 것이다. 이럴 경우에는 DBeaver의 Performance 옵션을 켜면 빠르게 Table 정보를 가져오는 것을 볼 수 있다. 접근 경로는,좌측 Connection 정보 클릭 -> Edit Connection -> 팝업 중간에 Oracle Properties 탭 선택 -> Performance 항목을 모두 선택 -> DB 재 접속 후 다시 조회 위와 같이 Performace 옵션 선택 후 DBeaver를 다시 실행 및 테이블 조회를 해보면 빠르게 정보를 가져오는 것을 ..