본문 바로가기
반응형

Database32

Oracle SQL 힌트 리스트 Oracle SQL 힌트에는 많은 종류가 존재합니다, 그 중 대표적인 힌트들 몇가지를 표로 정리해보았습니다. 분류 힌트 설명 인덱스 사용 INDEX 특정 인덱스를 사용하도록 강제 NO_INDEX 인덱스를 사용하지 않도록 강제 INDEX_COMBINE 여러 인덱스를 결합하여 사용하도록 강제 OPT_ESTIMATE 특정 테이블의 행 수 추정치 제공 PUSH_PRED 조건을 테이블로 푸시하여 최적화 돕기 테이블 스캔 FULL 전체 테이블 스캔을 강제 NO_FULL 전체 테이블 스캔을 사용하지 않도록 강제 조인 ORDERED 조인 순서를 강제 USE_HASH 해시 조인을 사용하도록 강제 USE_MERGE 병합 조인을 사용하도록 강제 LEADING 조인 시 선행 테이블을 지정 최적화 ALL_ROWS 최적의 전체 .. 2024. 2. 18.
IntelliJ와 Oracle 연동 오늘은 IntelliJ와 Oracle을 연동해봅시다. 준비물 - 인텔리제이와 오라클 설치 1. 인텔리제이의 화면 좌측에 Database라는 버튼을 누르시구요. 2. 빨강색으로 표시한 '+'버튼을 눌러서 Data Source - Oracle을 선택해줍니다. 3. 새창이 나올건데요, Name/Host/port/Driver/SID/User/password를 작성하고 Test Connection 버튼을 눌러줍니다. 4.아래 그림과 같이 Succeded라는 문구가 나오면 테스트가 완료된거구요, OK나 Apply버튼을 눌러주시면됩니다. 5.그러면 아래 그림과 같이 좌측에 새로 등록한 DB정보가 나오구요, '+'버튼을 이용해 쿼리 콘솔을 열 수 있습니다. - 콘솔 창은 아래와 같이 파랑색으로 표시해둔 재생모양을 통해.. 2023. 11. 30.
Oracle 설치 및 계정 추가 아래 링크에 들어가서 Oracle을 OS에 맞게 다운로드 합니다. https://www.oracle.com/database/technologies/xe-prior-release-downloads.html XE Prior Release Archive Getting Started: Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum for help, feedback, and enhancement requests. Note: Oracle Support Ser ww.. 2023. 11. 27.
ORACLE_실전문제 주말에 보았던 SQL 문제에 대하여 정리해보았다, 다음과 같은 테이블이 있다 도시 좋아요 범계 Y 평촌 N 금정 Y 금정 N 안양 Y 안양 Y 안양 N 석수 Y 석수 N 석수 N 조건은 다음과 같다. 같은 도시중에 좋아요가 N보다 Y가 많은 도시만 출력하여라. 당시에 쿼리를 작성할때 group by로 도시와 좋아요 컬럼을 잡고 partition by 로 count 값을 빼내어 desc를 잡고 한번 더 감싸서 where 절에 LIKES = 'Y' AND MAXLIKE =1인것을 뽑아내는 아래와 같은 쿼리를 생각하고 작업을 진행하였다, 하지만 시간이 다되었을때쯤 보니 위의 테이블의 데이터라 가정하였을때 금정은 Y,N이 각각 1개씩 들어있으나, 아래와 같은 쿼리를 사용시에는 이 부분은 간과하게되어버렸다. 해당.. 2023. 11. 9.
SQL lock 관련 정리 * 락걸린 테이블 확인 SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER, VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO WHERE VO.OBJECT_ID = DO.OBJECT_ID * 해당 테이블에 LOCK 이 걸렸는지 확인 SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE='TM' AND C.OBJECT_NAME IN ('T_SKUMA') * 락발.. 2023. 11. 9.
ORACLE_실전_그룹별_최대값_조회 SQL 문제를 풀던중 그룹별 최대값 조회를 해야하는 문제를 조우했다. 평소에 회사 업무중에는 사용하던 기본 쿼리만 사용하다보니 PARTITION BY의 사용법이 바로 떠오르지않았고, 과거에 SQLD자격증도 취득하고 한 상황이라, SQL쪽에 공부를 소홀하게 하기도하였다. 이번 실수로 인해 SQL도 더욱 열심히 하도록 하겠다. SELECT svc_mm, track_id, sett_idx, ratio FROM (SELECT svc_mm, track_id, sett_idx, ratio, ROW_NUMBER() OVER(PARTITION BY svc_mm, track_id ORDER BY sett_idx DESC) as row_idx FROM tmp_test) WHERE row_idx = 1; 2023. 11. 9.
반응형

loading