본문 바로가기

oracle3

Oracle DBMS_RANDOM을 이용한 테스트 데이터 만들기 이런 회원 엔티티가 있다. 여기에 테스트 데이터를 채워 넣어 보자. DBMS_RANDOM 함수를 이용해서. CREATE TABLE T_MEMBER AS WITH T1 AS ( SELECT ROWNUM AS RID1 , REGEXP_SUBSTR(STR, '[^,]+', 1, LEVEL) AS NAME1 FROM ( SELECT '김,이,박,고,안,강,조,최,차,손,하,정,허,성,하,정,진,송,마' AS STR FROM DUAL ) CONNECT BY LEVEL 2023. 5. 10.
Database I/O Database 읽기 단위 PC에서 한글 파일이나 Word 파일을 저장할 때, 파일 단위로 읽고 저장한다. 물론 내부 메카니즘은 좀 더 섬세한 면이 있겠지만, 대용량 파일을 저장/수정할 때 시간이 걸리는데는 이러한 이유일 것이다. Database는 익히 알려진대로, 블록(Block) 단위로 읽고 저장한다. 오라클은 기본적으로 블록 사이즈가 8kb이다. 즉, database가 아주 작은 데이터를 가져온다고 하더라도, 최소한 8kb의 블록을 읽는 셈이다. Database 튜닝에 있어서, 가장 중요한 것은 바로 이 블록 단위 I/O를 줄이는 것이다. 참고로 오라클은 아래와 같은 방법으로 블록 사이즈를 확인할 수 있다. [그림1] block size Database 액세스 방법(Sequential VS Rand.. 2018. 7. 26.
PostgreSQL - COALESCE 함수 활용 쿼리를 만들 때, null 값을 특정 데이터로 가공해서 추출이 필요할 때가 있다. 뿐만 아니라, application layer에서 데이터가 아닌 null 을 리턴할 때, NullPointerException을 초래할 수도 있고, 집계 쿼리를 만들 때도, Null 데이터의 연산은 Null을 반환하므로, 데이터 변환이 필요하다. PostgreSQL에는 Oracle 의 nvl 함수와 같이 COALESCE라는 함수가 있다. 아래와 같은 데이터가 있다. CREATE TABLE purchase_log ( purchase_id varchar(255) , amount integer , coupon integer ); INSERT INTO purchase_log VALUES ('10001', 3280, NULL) , .. 2018. 7. 3.
반응형