Database & SQL
-
ORACLE 시간 연산 경과 시간 계산 쿼리Database & SQL 2019. 8. 9. 21:02
ORACLE 시간 연산 경과 시간 계산 쿼리 SELECT TRUNC((to_date(LAST_CHNG_DTTM, 'yyyymmddhh24miss')-to_date(REG_DTTM, 'yyyymmddhh24miss'))*24) ||':'|| TRUNC(mod((to_date(LAST_CHNG_DTTM ,'yyyymmddhh24miss') - to_date(REG_DTTM, 'yyyymmddhh24miss'))*24,1)*60) ||':'|| TRUNC(round(mod((to_date(LAST_CHNG_DTTM , 'yyyymmddhh24miss') - to_date(REG_DTTM, 'yyyymmddhh24miss'))*24*60,1)*60)) as 경과시간 FROM 테이블명 ;
-
인덱스가 있지만 사용하지 못하는 경우Database & SQL 2019. 7. 13. 14:14
▣ 인덱스가 있지만 사용하지 못하는 경우 ① 인덱스 컬럼의 변형에 의한 FULL TABLE SCAN EX> SELECT * FROM CUSTOMER WHERE SUBSTR(MOBILE_NO,1,7) = '0109284'; 인덱스 컬럼의 명시적 또는 암시적 변형이 있으면 인덱스를 사용 할 수 없다. ② 부정형 비교 연산자 EX> SELECT * FROM CUSTOMER WHERE ID '05652222'; 부정형 비교 연산으로는 B*Tree를 수직적/수평적 탐색을 효율적으로 할수 없기 때문에 FULL TABLE SCAN 이 발생 한다. ③ NULL 조회 EX> SELECT * FROM CUSTOMER WHERE ID IS NULL; NULL은 비교가 불가능 하기 때문에 B*Tree를 수직적/수평적 탐색을 ..
-
Optimizer 통계정보관리Database & SQL 2019. 7. 6. 09:27
Optimizer 에게 적절한 통계정보가 없으면 잘못된 실행계획을 뱉어낸다. 비용기반 옵티마이저는 시스템 카탈로그 (Data Dictionary) 에 있는 오브젝트의 통계정보를 기반으로 하여 가장 저렴한 비용이 소요되는 실행계획을 수립한다. 장점으로는 시스템 카탈로그 (Data Dictionary) 에 있는 오브젝트의 통계정보를 기반으로 실행계획을 수립 하기 때문에 RBO방식에 비해 우수한 실행계획을 수립한다. 단점으로는 시스템 카탈로그 (Data Dictionary)에 통계정보가 부정확한 경우 비효율적인 실행계획을 수립한다. 통계정보 수집 방법은 자동 과 수동이 있고 수동은 다시 2가지 방식이 있다. ① ANALYZE(명령어) ② DBMS_STATS(패키지) -> 오라클이 추천하는 것은 ② DBMS_S..
-
세션(Session) 모니터링Database & SQL 2019. 6. 29. 17:22
▣ Top 에서 Process ID 확인후 세션 모니터링 ▣ SELECT * FROM V$SESSION WHERE STATUS ='ACTIVE' AND USERNAME IS NOT NULL; // 사용하는 SQL 추적 SELECT USERS_EXECUTING,DISK_READS,DIRECT_READS,OPTIMIZER_COST, CPU_TIME,ELAPSED_TIME,BUFFER_GETS,SQL_TEXT FROM V$SQL WHERE ADDRESS IN ('00000000702189A8','00000000752A6868');
-
Transaction TypeDatabase & SQL 2019. 6. 22. 15:17
트랜잭션의 특성에 따라 가지 유형으로 구분 한다 OLTP(OnLine TransactionProcessing)는 소량의 데이터를 실시간에 처리하는 업무에 해당하는 Transaction 패턴이다. OLAP = DSS(Decision Support System)은 많은 데이터를 한꺼번에 처리하는 업무에 해당하는 Transaction 패턴이다. - OLTP(Online Transaction Processing) 작고 자잘한 트랜잭션이 동시발생한다 실시간, 동시사용성, 트랜젝션 처리 위주 (shot), 부분적인 처리에 최적화 - OLAP(Online Analytical Processing) = DSS (Decision Support System) 굵고 거대한 트랜잭션이 소수발생한다. Batch Job(주기적),..
-
SQL 처리과정과 Parsisng , Shared SQL AreaDatabase & SQL 2019. 6. 22. 14:48
SQL 처리과정 • Parsing • Execute • Fetch 일반적인 Parsing 과정 1. Syntax Check (문법 체크) 2. Symantic Check (의미 체크) -> Data Dictionary를 본다 3-0. Shared Pool Check 3. 실행계획 수립 -> 실행주체 : optimizer ※ Parsing 과정에서 SGA - Shared Pool 에 있는 Shared SQL Area 를 활용하면 실행계획 수립을 안할 수 있다. Shared SQL Area 1. 사용자 SQL 문장 저장 2. 실행계획 저장 3. Parsed-Tree 저장 Hard Parsing vs Soft Parsisng - SQL 공유 - Hard Parsing 과 CPU Time - Bind 변수 So..