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 연산자: 성능이 좋지않음, 동적인 데이터를 = OR로 연결할때 쓰고자함
정적인 데이터를 사용할때는 = OR를 사용하는것이 효율적임
WHERE절에 IN을 사용해서 SUBQUERY할때 SUBQUERY라고 함
FROM 절에 SUBQUERY : 인라인뷰
OUTER JOIN을 사용할때에는 방향 지정이 필요함. LEFT OUTER JOIN , RIGHT OUTER JOIN
OUTER JOIN 한 번더 정리해보기 ...............................................................................................
경영 정보 시스템? 에서 많이쓴다. 뭐가 판매가 안되었나를 파악하기위해!
NVL()
NVL2() -> 권장사항은 아님, NVL은 값을 비교하는 방식
COALESCE -> 식을 검증 : 권장사항
댓글