본문 바로가기

DB/ORACLE

* JOIN 원리 *JOIN 원리--DBMS 작동원리 : 평소에 데이터는 하드디스크의 데이터 파일에 저장해 두었다가 필요한 시점에 메모리로 복사한다.--(오라클은 이때 사용하는 메모리를 데이터베이스 버퍼 캐시라고한다)-- 여기서 중요한 것은 칼럼 100개를 가진 테이블이 하드디스크에 저장되어 있을 때 사용자가 그 중 1개의 칼럼에 SELECT를 -- 수행할 경우 해당 칼럼 1개만 메모리로 복사하는 것이 아니라 일단 100개의 칼럼 모두를 메모리로 복사해 온다는 점이다.--그래서 불필요한 I/O도 많고 메모리 사용량도 많이 생기기 때문에 정규화를 철저히 해서 부하를 최대한 줄여야한다.--일단 메모리로 올라온 테이블에서 필요한 칼럼을 가져와서 사용자가 원하는 결과를 만들어야 한다. 1) NESTED LOOP JOIN(가장 기.. 더보기
[ORACLE] 3. 단일행 함수 - 형변환 함수 *오라클에서 사용하는 데이터 타입 데이터 타입 설명 CHAR(n) 고정 길이의 문자를 저장한다. 최댓값은 2000byte. VARCHAR(n) 변하는 길이의 문자를 저장한다. 최댓값은 4000byte. NUMBER(p, s) 숫자 값을 저장. p는 전체릿수로 1~38자리까지 가능하고 s는 소수점이하 자릿수로 -84 ~ 127자리가 가능. DATE 총 7Byte로 BC 4712년 1월 1일부터 AD 9999년 12월 31일까지의 날짜를 저장. LONG 가변 길이의 문자를 저장하며 최대 2GB까지 저장할 수 있다. CLOB가변길이의 문자를 저장하면 최대 4GB까지 저장할 수 있다. BLOB가변 길이의 바이너리 데이터를 최대 4GB까지 저장할 수 있다. RAW(n)원시 이진 데이터로 최대 2000byte까지 .. 더보기
[ORACLE] 2. 단일행 함수 - 날짜함수 날짜함수 함수명 의미 결과 SYSDATE 시스템의 현재 날짜와 시간 날짜 MONTH_BETWEEN 두 날짜 사이의 개월 수 숫자 ADD_MONTHS 주어진 날짜에 개월을 더함 날짜 NEXT_DAY 주어진 날짜를 기준으로 돌아오는 날짜 출력 날짜 LAST_DAY 주어진 날짜가 속한 달의 마지막 날짜 출력 날짜 ROUND 주어진 날자를 반올림 날짜 TRUNC 주어진 날짜를 버림 날짜 1) SYSDATE 함수 - 현재 시스템의 시간을 출력해 주는 함수 - 오라클에서는 보통 날짜 체계가 미국을 기준으로 되어 있음 [참고]한국에서 익숙한 형태로 표기하기 위해서 다음과 같은 작업이 필요 2) MONTHS_BETWEEN 함수 ① 두 날짜를 입력 받아서 두 날짜 사이의 개월 수를 출력하는 함수 ② 두 날짜 중 큰 날짜.. 더보기
[ORACLE] 1. 단일행 함수 - 숫자함수 숫자함수 이름 의미 사용 예 ROUND 주어진 숫자를 반올림 한 후 출력함 ROUND(12.345, 2) -> 12.35 TRUNC 주어진 숫자를 버림 한 후 출력함 TRUNC(12.345, 2) -> 12.34 MOD 주어진 숫자를 나누기 한 후 나머지 값 출력함 MOD(12, 10) -> 2 CEIL 주어진 숫자와 가장 근접한 큰 정수를 출력함 CEIL(12.345) -> 13 FLOOR 주어진 수자와 가장 근접한 작은 정수 출력함 FLOOR(12.345) -> 12 POWER 주어진 숫자 1의 숫자 2승을 출력함 POWER(3,2) -> 9 1) ROUND 함수문법 : ROUND(숫자, 원하는 자릿수) 2) TRUNC 함수문법 : TRUNC (숫자, 원하는 자릿수) 3) MOD, CEIL, FLOO.. 더보기