본문 바로가기

oracle9

[ORACLE, DB] PL/SQL(프로시저(PROCEDURE)), FUNCTION(함수), SYNONYM(시노님) 변경이력 조회 설명보단 바로 쿼리 보여드리겠습니다SELECT OBJECT_TYPE , OBJECT_NAME , STATUS , TO_CHAR(CREATED, ‘YYYYMMDD’) AS CREATED , TO_CHAR(LAST_DDL_TIME, ‘YYYYMMDD’) AS LAST_DDL_TIME FROM USER_OBJECTS WHERE 1=1 AND OBJECT_TYPE IN (‘FUNCTION’, ‘PROCEDURE’, ‘SYNONYM’) AND TO_CHAR(LAST_DDL_TIME, ‘YYYYMMDD’) >= ‘20230601’ —- 현재 달기준(2023.06.22) AND OBJECT_NAME = ‘프로시저명 or 함수명 or 시노님명’ ORDER BY OBJECT_TYPE, OBJECT_NAME ;위 쿼리 중.. 2023. 6. 22.
[ORACLE/오라클] EXISTS, NOT EXISTS, 조건절 서브쿼리 성능(속도) 개선 개선 전: 4n초 개선 후: 1.n초 로 약 40초가량 성능이 개선된 경험을 토대로 글을 작성합니다. EXISTS 개선 개선 전 코드입니다AND EXISTS (SELECT 1 FROM TBL1 A WHERE 1=1 AND A.COL = (SELECT MIN(B.COL B) FROM TBL2 B WHERE 1=1 AND #{ROW} IS NOT NULL AND B.ROW = #{ROW} ) AND ~~ AND ~~ ) 위 코드 중AND A.COL = (SELECT MIN(B.COL B) FROM TBL2 B WHERE 1=1 AND #{ROW} IS NOT NULL AND B.ROW = #{ROW} )가 원인이 되었습니다. 서브쿼리에 조건을 걸어둬서 빠를 것이라고 예상했지만 처리순서가 후순위 처리가 되어 .. 2023. 6. 14.
[ORACLE, DB] OWNER, TABLE명, COLUMN명, TABLE COMMENT, COLUMN COMMENT 조회하기(오너명, 테이블명, 컬럼명, 테이블주석, 컬럼주석 조회) OWNER명은 ALL_OBJECTS 테이블에서 조회 TABLE명은 USER_TABLES 테이블에서 조회 TABLE COMMENT는 USER_TAB_COMMENTS 테이블에서 조회 COLUMN, COLUMN COMMENT는 ALL_COL_COMMENTS 테이블에서 조회 이걸 이용해서 쿼리문을 만들면 SELECT O.OWNER -- 오너명 , T.TABLE_NAME -- 테이블 명 , TC.COMMENTS AS TABLE_COMMENT -- 테이블 코맨트(주석) , CC.COLUMN_NAME -- 컬럼 명 , CC.COMMENTS AS COLUMN_COMMENTS -- 컬럼 코맨트(주석) FROM ALL_OBJECTS O , USER_TABLES T , USER_TAB_COMMENTS TC , ALL_COL.. 2023. 4. 25.
[ORACLE] MERGE 쿼리문(UPDATE문과 INSERT문 일괄 처리하기) MERGE문은 조건이 있을때 수행하고, 없어도 수행하게 만드는 쿼리문입니다. UPDATE와 INSERT를 한번에 쓰거나 필요로 할 때 사용합니다. MERGE문 예제입니다. MERGE INTO TABLE A USING DUAL ON (A.컬럼 = 값1) WHEN MATCHED THEN UPDATE SET A.컬럼2 = 값2 , A.컬럼3 = 값3 WHEN NOT MATCHED THEN INSERT ( A.컬럼 , A.컬럼2 , A.컬럼3 ) VALUES ( 값1 , 값2 , 값3 ) ; 위처럼 사용하시면 됩니다. 부가설명을 드리자면 TABLE A에 위 조건에 맞는 데이터가 있으면 MATCHED가 성사되기에 UPDATE문이 적용되고, 위 조건에 맞는 데이터가 없으면 NOT MATCHED가 되어 INSERT문.. 2023. 3. 28.