A카노
524
2018-11-27 15:08:41
5
585

오라클 SQL 쿼리 질문 입니다.


안녕하세요 신입 개발자 입니다.


다름이 아니라 쿼리를 짜고 있는데 궁금한게 생겨서 선배님들께 여쭤봅니다.


현재 데이터가 10만건 있다고 가정할 때


아래의 1번쿼리와 2번쿼리의 차이가 있는지 궁금합니다.


현재 오라클 사용중이고 플랜보면 정확히 똑같은데 제가 놓치고 있는게 있는지..

조언 부탁드립니다



Ex) 1번 쿼리

SELECT ALL.*

FROM(

SELECT ST.NAME

,ST.AGE

,ST.EMAIL

,CL.CALSS_NO

,CL.CALSS_YMD

FROM STUDENT ST

,CLASS CL

WHERE ST.CLASS_NO = CL.CLASS_NO

)ALL

WHERE ALL.CALSS_YMD '20180101' BETWEEN '20180201'


Ex) 2번 쿼리

SELECT ALL.*

FROM(

SELECT ST.NAME

,ST.AGE

,ST.EMAIL

,CL.CALSS_NO

,CL.CALSS_YMD

FROM STUDENT ST

,CLASS CL

WHERE ST.CLASS_NO = CL.CLASS_NO

AND CL.CALSS_YMD '20180101' BETWEEN '20180201'

)ALL

0
0
  • 답변 5

  • 더투게더
    135
    2018-11-27 15:28:16

    딱히 큰차이는 없어 보입니다만.. 저도 궁금하네요..

    0
  • 20170923
    1k
    2018-11-27 17:19:25

    1. WHERE ST.CLASS_NO = CL.CLASS_NO로 거른 데이터를 가지고 와서 그 데이터들을 가지고 다시 WHERE ALL.CALSS_YMD '20180101' BETWEEN '20180201'로 거름

    2. WHERE ST.CLASS_NO = CL.CLASS_NO

    AND CL.CALSS_YMD '20180101' BETWEEN '20180201'로 거른 뒤 가지고 옴


    2번 쿼리가 더 빠르지 않나요? 빠르지않다면 퇴장하겠습니다

    0
  • 고그래머
    67
    2018-11-27 17:42:37 작성 2018-11-27 17:51:08 수정됨

    저는 배울때 다르다고 들은 것 같은데.. 

    일단 한번 수행시간 출력해보세요.

    http://zzznara2.tistory.com/421

    저도 궁금해서 찾아봐야겠네요..

    0
  • A카노
    524
    2018-11-28 11:24:56

    더투게더 ,20170923고그래머 

    답변 달아주셔서 감사합니다.


    저도 2번이 빠르다고 생각이드는데.... 오라클 plan 보면

    똑같아서.......제가 잘못 생각하고 있나 싶고..ㅠ

    0
  • byeworld
    3k
    2018-11-28 17:38:50

    위 부분만 놓고 보면 차이가 나질 않습니다. 

    추가로 조건이 달릴 때 달라질 수 있습니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.