Oracle 튜닝 - 실행 계획
·
개발/ORACLE
2024.05.02 - [개발/ORACLE] - Oracle 에서 explain plan 쿼리 계획 Oracle 에서 explain plan 쿼리 계획Mysql에서 쿼리 튜닝을 위해 혹은 인덱스를 걸기 위해 자주 사용했던 explain.Oracle에서는 문법이 다른데 어떻게 다른지 사용법을 알아보자MysqlEXPLAINSELECT * FROM {table_name};-- update, insert, delete 문에도joolog.tistory.com 쿼리 튜닝을 하게 되면서 고민이 생겼다.어떻게 하는게 가장 효과적일까. 물론 처음부터 잘 짠다면 좋겠지만내가 하는 일의 경우 남이 짜놓은 쿼리를 튜닝하게 된다. 그 남이 같은 회사사람도 아닌 몇 년 전 사람이라 왜 이렇게 되는지 물어볼 수도 없다. 지금 맡은..
Oracle From 절에 2개 이상의 테이블 JOIN, (+)
·
개발/ORACLE
A 테이블의 데이터 221개B 테이블의 데이터 101개중복 데이터 100개라고 가정하겠다. SELECT count(*)FROM A, B-- count(*) = 22,321FROM 절에 두개의 테이블을 아무조건없이 명시하면 221*101 이 이루어진다.만약 테이블이 3개라면 A * B * C 가 되어 무수히 많은 데이터가 만들어진다. SELECT count(*)FROM A, BWHERE A.pk=B.pk;-- count(*) = 100SELECT count(*)FROM A JOIN B ON A.pk=B.pk;SELECT count(*)FROM A INNER JOIN B ON A.pk=B.pk;WHERE 절에 조건을 주면 A와 B의 교집합, 즉 같은 값만 가져오고표준 ANSI 문법으로 JOIN 하면 동일한 ..
Oracle install 19c
·
개발/ORACLE
다운로드오라클 다운로드 Database Software Downloads | Oracle 대한민국Oracle Database Software Downloads Whether you are a developer, a data scientist, a DBA, an educator, or just interested in databases, Oracle Database 23ai is the ideal way to get started. It provides native support for all modern data types, analytics, anwww.oracle.com오라클 사이트에 접속해서 해당 플랫폼에 맞춰 다운로드 받으면 된다.윈도우와 리눅스 외에도 많은 플랫폼에 맞춰 다운로드 받을 수 있다...
JAVA-ORACLE 연동 feat.IntelliJ
·
개발/JAVA
oracle jar downloadhttps://www.oracle.com/kr/database/technologies/appdev/jdbc-downloads.html JDBC and UCP Downloads page | Oracle 대한민국Oracle JDBC Driver Implements JDBC 4.2 spec and certified with JDK8, JDK11, JDK17, and JDK19 Oracle JDBC driver except classes for NLS support in Oracle Object and Collection types. (4,535,064 bytes) - (SHA1: f1789a271868d5d04d148db47161905dff2a25ea)www.oracle.co..
문자열 비교, ==와 equals() 그리고 compareTo()
·
개발/JAVA
자바에서 문자열을 비교하는 방법을 알아보고 왜 알아보게 되었는지 적는다.문제 풀이 중에 문자열을 ==로 비교하게 되면 false가 나는 경우가 있어 찾아보게 되었다. 변수 선언-- 리터럴 선언String str1 = "Programming";String str2 = "Programming";-- new 연산자 선언String str3 = new String("Programming");String str4 = new String("Programming");리터럴 선언: 리터럴을 사용하는 가장 큰 장점은 메모리의 효율성이다. 메모리에서 이미 해당값을 가지고 있어 별도로 객체 생성할 필요가 없다. 동일한 리터럴을 컨스턴 풀에서 하나의 참조로 관리되기 때문에 같은 내용의 문자열을 여러 번 사용해도 추가적인 메모..
Oracle의 V$RESOURCE_LIMIT과 process / session
·
개발/ORACLE
V$RESOURCE_LIMITV$RESOURCE_LIMIT이란? V$RESOURCE_LIMIT은 리소스 사용 정보를 표시하는 뷰.이 뷰를 사용하여 리소스 소비를 모니터링하고 필요한 경우 수정 조치를 취할 수 있다. 컬럼의 정의ColumnDataTypeDesciptionRESOURCE_NAMEVARCHAR2 (128)리소스의 이름CURRENT_UTILIZATIONNUMBER현재 사용 중인 리소스나 프로세스의 수MAX_UTILIZATIONNUMBER인스턴스 시작 이후 리소스의 최대 소비량INITIAL_ALLOCATIONVARCHAR2 (40)초기 할당량 (무제한 할당은 UNLIMITED)LIMIT_VALUEVARCHAR2 (40)제한 값 (초기 할당량보다 클수있음)CON_IDNUMBER컨테이너 id0: 전체..
Oracle 에서 explain plan 쿼리 계획
·
개발/ORACLE
Mysql에서 쿼리 튜닝을 위해 혹은 인덱스를 걸기 위해 자주 사용했던 explain.Oracle에서는 문법이 다른데 어떻게 다른지 사용법을 알아보자MysqlEXPLAINSELECT * FROM {table_name};-- update, insert, delete 문에도 확인 가능 Oracle-- 실행 계획 저장EXPLAIN PLAN SET STATEMENT_ID = '{PLAN value}' FORSELECT * FROM {table_name};-- 저장된 실행 계획 보기SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE','{PLAN value}','ALL')); Oracle 결과EXPLAIN PLAN SET STATEMENT_ID ='test' F..
Oracle 에서 limit 구현하기
·
개발/ORACLE
mysql 에서 oracle로 넘어오니 생각보다 많은게 다르다.보통 데이터를 볼때 부하를 조금이라도 더 줄이기 위해 10개 내지 필요한 만큼 잘라서 보기때문에 오라클로 넘어왔을때 limit을 하니 문법 오류가 났다.오라클에서 어떻게 하는지 알아보자MysqlSELECT * FROM {target_table}LIMIT 10; OracleSELECT *FROM ( SELECT * FROM {target_table} WHERE {조건문})WHERE rownum =1 AND rownum rownum은 오라클에서 제공하는 가상컬럼이고 추출하는 데이터의 순번을 부여하는 용도로 사용된다.rownum은 다시 다루겠다.