말러83

조건문을 정확하게 써라

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은 가능한가보군요.. 헐. 오라클이 주업종이라;;;
저도 처음 ㅡㅡ땀
흐으 저번에 인덱스 하면서 같이 안사실인데 where 변수값이 작을수록 조건문이 정확할수록

빠르더라고요 ㅡ,.ㅡ 4천만건 데이터 0.2초 달성...
조건문은 무조건 정확한 값을 지정하게 해주는게 빨라요.
그렇죠 ㅋㅋ 정확하게~~~
and,or과 &&|| 에서는 속도차 없나요?
작은차이가 명품~ 멋진말이네용
ㅋㅋ 쿼리..깔끔하면 굿~ ㅋ
댓글을 작성하시려면 로그인이 필요합니다.

팁게시판

디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
제목 글쓴이 날짜 조회
13년 전 조회 1,917
13년 전 조회 5,632
13년 전 조회 1,737
13년 전 조회 3,576
13년 전 조회 2,178
13년 전 조회 4,126
13년 전 조회 3,384
13년 전 조회 4,930
13년 전 조회 2,726
13년 전 조회 2,174
13년 전 조회 2,509
13년 전 조회 2,850
13년 전 조회 1,492
13년 전 조회 1,919
13년 전 조회 1,937
13년 전 조회 6,134
13년 전 조회 1,601
13년 전 조회 1,422
13년 전 조회 1,793
13년 전 조회 2,259
13년 전 조회 1,588
13년 전 조회 1,921
13년 전 조회 3,325
13년 전 조회 3,596
13년 전 조회 1,968