조건문을 정확하게 써라
update `table` set `a` = 0 where `b` = 'c' and !`d`
update `table` set `a` = 0 where `b` = 'c' and `d` = 0
이런 쿼리가 있을 때 만약 `d` 값이 공백이거나 false 값이거나한 경우를 모두 체크하는 게 아니라 0인 경우만 체크하는 것이라면 아래와 같이 쓰는 것이 훨씬 빠르네요.
지금까지 조건문을 위와 같이 loose comparison을 하는 식으로 즐겨썼는데, 속도 차이가 엄청나게(제 경우에 10배 이상) 나는 것을 체감해보고는 이제는 아래와 같은 방식으로 무조건 씁니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 10개
MySQL은 가능한가보군요.. 헐. 오라클이 주업종이라;;;
빠르더라고요 ㅡ,.ㅡ 4천만건 데이터 0.2초 달성...