Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- plugin
- R
- Android
- Eclipse
- SSL
- JavaScript
- tomcat
- xPlatform
- Java
- window
- 보조정렬
- Sqoop
- vaadin
- Python
- Kotlin
- SQL
- mybatis
- table
- MSSQL
- SPC
- es6
- react
- mapreduce
- hadoop
- 공정능력
- Spring
- Express
- NPM
- IntelliJ
- GIT
Archives
- Today
- Total
DBILITY
oracle 오라클 테스트 데이터 생성 예제 본문
반응형
가끔 일정한 규칙없이 100만건 정도의 테스트 데이터가 필요할때 DBMS_RANDOM PACKAGE를 이용해 생성하는데 그 예입니다.
TOAD같은 상용툴이 아닌 DBEAVER에선 희안하게 BINDING에 약간 문제가 있어 PLAN보기가 어려울때, 아래와 같이 즉시 출력할 수 있습니다.
물론 파라메터별로 문자열인 경우 따옴표로 묶어주면 됩니다.
CREATE TABLE TB_SAMPLE_SOURCE UNRECOVERABLE AS
SELECT
LEVEL AS SEQ,
DECODE(ROUND( DBMS_RANDOM.VALUE( 1, 3 )),1,'USER',2,'COMPANY','ETC') AS DATA_TYPE,
TO_TIMESTAMP(TO_CHAR(CURRENT_TIMESTAMP-NUMTODSINTERVAL(ROUND(DBMS_RANDOM.VALUE( 1, 1000000)),'SECOND'),'yyyy/MM/dd HH24:MI:SS.FF3')) AS REG_DATE,
DBMS_RANDOM.STRING('U',20) A,
DBMS_RANDOM.STRING('L',20) B,
DBMS_RANDOM.STRING('A',20) C,
DBMS_RANDOM.STRING('X',20) D,
DBMS_RANDOM.STRING('P',120) E,
ROUND(DBMS_RANDOM.VALUE( 1, 1000000)) F
FROM
DUAL
CONNECT BY
LEVEL <= 1000000;
CREATE INDEX TB_SAMPLE_SOURCE_IDX01 ON DEV.TB_SAMPLE_SOURCE (REG_DATE,DATA_TYPE) ;
EXPLAIN PLAN FOR SELECT /*+ INDEX(A TB_SAMPLE_SOURCE_IDX01) */
*
FROM
TB_SAMPLE_SOURCE A
WHERE
REG_DATE
BETWEEN TO_TIMESTAMP(TO_CHAR(:START_DT),'YYYY-MM-DD HH24:MI:SS.FF3')
AND TO_TIMESTAMP(TO_CHAR(:END_DT),'YYYY-MM-DD HH24:MI:SS.FF3')
AND DATA_TYPE > ' ';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
반응형
'database > oracle' 카테고리의 다른 글
ROWID 구조 (0) | 2018.03.22 |
---|---|
오라클 SQL 썸머타임(일광절약시간) 테스트 (0) | 2017.12.17 |
계정생성.. (0) | 2017.08.29 |
oracle CTAS NOLOGGING (0) | 2017.07.04 |
oracle os file delete ( 오라클에서 os상 file 삭제 ) (0) | 2017.06.28 |
Comments