본문 바로가기

SQL20

[ORACLE] 쿼리에 작은 따옴표(') 쓰기 SQL로 값을 넣을때 it's 같이 작은 따옴표(')가 포함된 값을 넣는 경우가 있다. 이런 경우 작은따옴표(')를 하나 더 넣어주면 된다. SELECT 'It''s me' AS ME FROM DUAL; 2022. 2. 22.
[MySQL] ORACLE과 기본 문법 차이 계속 Oracle을 사용해 왔지만 새로운 프로젝트는 MySQL을 사용한다고한다. 기본문법에서 차이나는 부분을 정리해두려고 한다. * 공백치환 함수 ORACLE: SELECT NVL('컬럼명', '') FROM DUAL; MySQL : SELECT IFNULL('컬럼명', '') FROM DUAL; * 현재 날짜, 시간 ORACLE: SYSDATE MySQL : NOW() * 날짜 포맷 ORACLE: TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') MySQL : DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') //년도에서 %Y는 4자리년도 (2021), %y는 2자리 년도 (21) * 요일 ORACLE: 1(일)~7(토) MySQL : 0(일)~6(토) * 문자열 합치기 ORA.. 2022. 2. 3.
[ORACLE] WITH 절 오라클 WITH 절은 오라클 9 이후 버전 부터 사용 가능하며 이름을 정의한 서브쿼리라 생각하면 된다. 테이블을 임시로 만드는 VIEW와 쓰임이 비슷하지만 VIEW는 DROP해야 사라지지만 WITH절은 쿼리 안에서만 실행됨. * WITH절 장점 WITH절은 공유메모리에 임시 테이블을 생성하여 재사용이 가능하도록 함. 서브쿼리는 서로 참조할 수 없지만, WITH절은 참조 가능. 이름을 부여하여 재사용할 수 있게 함으로 전체적인 가독성 및 쿼리 성능 향상에 도움이 됨. - 기본 사용 법 WITH EXAMPLE AS ( SELECT 'PARK' AS NAME FROM DUAL ) SELECT * FROM EXAMPLE; - WITH절 참조 WITH PEOPLE AS -- 첫번째 WITH ( SELECT 'PA.. 2022. 2. 3.
[SQL] FUNCTION 수행과 SQL 성능문제 SELECT시 기존 사용자 함수를 만들어둔 것 때문에 속도가 나지 않아, 스칼라 서브쿼리로 처리했다. 그래도 속도가 잘 안나오길래 찾아보다가 구루비에서 좋은 글을(http://wiki.gurubee.net/pages/viewpage.action?pageId=27427586) 발견해서 정리해둔다. 1. FUNCTION은 최종 추출 결과만큼만 수행하자 [Function 사용 위치 변경전 ] select * from ( SELECT t1.c1, t1.c2,t2.c3,FN_C2_CODENM(t2.c4) c4 FROM FUNCTION_TABLE t1, C1_CODE_NM t2 WHERE t1.c2 = 0 AND t1.c3 = 'A' AND t1.c1 = t2.C1 AND t2.c4 IN (2, 4) order b.. 2022. 1. 24.
[ORACLE] EXPLAIN PLAN 실행 계획 EXPLAIN PLAN이란, SQL문이 어떻게 실행되고 작동하는지를 점검하기 위해 사용하고 SQL문의 액세스 경로를 확인, 튜닝할 수 있도록 SQL문을 분석, 해석해 실행계획을 수립한 후 PLAN_TABLE에 저장하는 명령어이다. 내용분석을 통해 SQL의 비효율적인 부분을 확인하고 튜닝포인트도 도출해낼 수 있다. - 사용방법 EXPLAIN PLAN [SET STATEMENT_ID = 'STATEMENT_ID'] FOR [SQL STATEMENT] SET STATEMENT_ID = 'STATEMENT_ID' : 1~30자 이내의 실행문 이름 SQL STATEMENT : 실행계획 할 SQL문 - TEST 1. 실행계획 저장 EXPLAIN PLAN FOR SELECT * FROM SAMPLE; 2. 실행계획 .. 2022. 1. 24.
반응형