MEMO

34일차

dP fla 2022. 11. 18. 17:15

f6 : 실행계획에 의해 실행 결과를 추적

f10: 실행계획 

avg: view에 들어가지 않는것이좋음

평균을 구하려면 view에 포함시키지 않는다.

평균값을 더해서 또 평균값을 구하는 과정에서 오차가 커진다. sum이나 count는 raw데이터를 기반으로해서 괜찮음

뷰 생성시 primary 키를 항상 포함시키기(화면출력에 필요하지 않아도) 

 

데이터 양?

날짜값을 char로 비교하기위해 날짜-> char

 

연월만 필요하다. 연월만 있는 날짜는없어서 -> 문자로 바꿈

sales 1 : 문자로 바꿔서 비교해야함

sales 2 : 애초에 문자니까 바꿀 필요가 없어서 성능이 좀 낫다

 

일별이라면, 문자비교 방식이 아니라date 비교 방식이 좀더 빠르다.

 

실행계획은 레코드 행수와 상관없다.

 

native > view

 

WHERE --> SUB-QUERY

 

outer join 

 

select 절에 서브쿼리는 성능 저하.

 

IN 연산자!!!!!

 

= IN
= 30004(다시다) OR 70001(테라)

 

잘못된 사용예시. 정적의 데이터

IN 연산자: 성능이 좋지않음, 동적인 데이터를 = OR로 연결할때 쓰고자함

정적인 데이터를 사용할때는 = OR를 사용하는것이 효율적임

 

WHERE절에 IN을 사용해서 SUBQUERY할때 SUBQUERY라고 함

FROM 절에 SUBQUERY : 인라인뷰

 

OUTER JOIN을 사용할때에는 방향 지정이 필요함. LEFT OUTER JOIN , RIGHT OUTER JOIN 

OUTER JOIN 한 번더 정리해보기 ...............................................................................................

경영 정보 시스템? 에서 많이쓴다. 뭐가 판매가 안되었나를 파악하기위해!

 

NVL()

NVL2() -> 권장사항은 아님, NVL은 값을 비교하는 방식

COALESCE -> 식을 검증 : 권장사항 

 

 

 

반응형