IT/DB
바로 써먹는 오라클 튜닝
1. Function오라클에서 Select쿼리에 함수를 바로 사용하지 말고 스칼라 서브쿼리를 사용하자. 스칼라 서브쿼리는 같은 인풋값이면 같은 아웃풋 값을 출력한다. - 스칼라 서브쿼리SELECT emp.employee_id, emp.salary, (SELECT MAX(salary) FROM employees sub WHERE sub.department_id = emp.department_id) AS dept_max_salFROM employees emp; 스칼라 서브쿼리의 경우 결과 값을 오라클 내부에 캐시로 저장한다. 따라서 같은 인풋 값인 경우 캐시에서 바로 아웃풋 값을 출력한다. 만약 스칼라 서브쿼리 수행 도중 값이 변경되면 어떻게 될까? 위의 Select절..
Connection reset by peer 오류 해결기
매 시간 실행되는 배치 작업 중 특정일 22:00에 java.net.SocketException: Connection reset by peer 오류와 Socket Timeout 오류가 발생했습니다. 이 문제는 일정 시간이 지나면 자연히 해결되거나, ojdbc 버전 변경으로 일시적으로 해결되었습니다 문제 상황3개의 서비스 중 A 서비스에서만 문제 발생 -> 같은 DB 참조A 서버 오류 지속 시 나머지 서비스도 영향 받음랜덤한 특정일 22:00에만 문제 발생DB 툴에서 쿼리 실행 시 정상 작동서버 재시작 후에도 문제 지속SpringBoot의 ojdbc 버전 변경할 시 일시적 문제 해결 의문점매 시간 배치도는 서비스가 총 3개이다. 각각 시스템이 다르지만 참조하는 DB는 같다. 문제가 되는 A서버는 매 시 정..

결합 인덱스란?
1. a+b+c 결합 인덱스에서 b,c만 사용하는 경우와 a,b만 사용하는 경우의 차이가 있을까?2. and조건절은 순서대로 필터링할까? 1. 결합인덱스의 사용 의의와 특징-결합인덱스란 무엇인가?결합인덱스는 인덱스의 기준이 되는 칼럼이 2개 이상인 경우를 말한다. 토이 프로젝트만 경험한 경우, 결합인덱스의 필요성을 잘 이해하지 못할 수 있다. 예를 들어, AutoIncrement 속성을 가진 기본 키를 사용하면 충분하다고 생각할 수 있다. 하지만 실제 업무에서는 여러 칼럼을 조합하여 인덱스를 설정해야 할 필요성이 자주 발생한다. -결합인덱스의 필요성실제 업무 환경에서는 검색 기준이 되는 칼럼이 여러 개인 경우가 많다. 예를 들어, 고객번호, 개설일, 번호라는 세 가지 칼럼이 있고, 40개의 테이블과 3..