카테고리 없음

SQL / WHERE절 비교

코인아님 2023. 12. 4. 16:28

기존에 내가 쓴 WHERE절 조건

AND RIGHT(phone, 4) = #{rightPhoneNumber};

 

바꾼 WHERE절 조건 

AND phone like concat ('%', #{rightPhoneNumber})

 

내가 쓴 조건은 기존에 있던 컬럼 값을 오른쪽에서 4자리만 추출해서 온다.

-> 즉, 데이터가 1000개 나오면 1000개 다 끝 4자리를 잘라서 들고온다. -> 성능에 안좋음

 

바꾼 조건은 원 데이터는 그대로 놔두고 LIKE문으로 찾아오기때문에 내가 작성한 구절보다 성능이 좋다고 한다!

 

내가 작성한 WHERE절 2

WHERE payment_deadline - interval '1 month' <= now()::date

 

고친 WHERE절 2

WHERE payment_deadline <= now()::date + interval '1 month'

 

마찬가지로 원래 있던 데이터를 건드리지 않고 비교값을 바꿨다! 

반응형