말러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과 &&|| 에서는 속도차 없나요?
작은차이가 명품~ 멋진말이네용
ㅋㅋ 쿼리..깔끔하면 굿~ ㅋ
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
13년 전 조회 2,349
13년 전 조회 6,083
13년 전 조회 1,497
13년 전 조회 2,187
13년 전 조회 1,770
13년 전 조회 925
13년 전 조회 1,750
13년 전 조회 1,209
13년 전 조회 1,048
13년 전 조회 6,563
13년 전 조회 1,318
13년 전 조회 861
13년 전 조회 3,235
13년 전 조회 1,637
13년 전 조회 4,032
13년 전 조회 1,805
13년 전 조회 1,475
13년 전 조회 1,022
13년 전 조회 988
13년 전 조회 1,245
13년 전 조회 1,454
13년 전 조회 2,167
13년 전 조회 1,419
13년 전 조회 2,598
13년 전 조회 1,503
13년 전 조회 4,644
13년 전 조회 3,795
13년 전 조회 5,367
13년 전 조회 7,957
13년 전 조회 3,210
13년 전 조회 2,653
13년 전 조회 1,023
13년 전 조회 3,361
13년 전 조회 1,263
13년 전 조회 4,798
13년 전 조회 2,970
13년 전 조회 2,248
13년 전 조회 2,049
13년 전 조회 6,384
13년 전 조회 2,191
13년 전 조회 1,831
13년 전 조회 1,759
13년 전 조회 3,320
13년 전 조회 3,263
13년 전 조회 1,614
13년 전 조회 1,813
13년 전 조회 5,046
13년 전 조회 1,141
13년 전 조회 1,599
13년 전 조회 1,934
13년 전 조회 2,346
13년 전 조회 2,364
13년 전 조회 2,125
13년 전 조회 5,238
13년 전 조회 1,575
13년 전 조회 6,542
13년 전 조회 2,078
13년 전 조회 2,098
13년 전 조회 1,870
13년 전 조회 1,492
13년 전 조회 2,253
13년 전 조회 1,233
13년 전 조회 2,717
13년 전 조회 1,069
13년 전 조회 1,071
13년 전 조회 3,717
13년 전 조회 1,533
13년 전 조회 1,166
13년 전 조회 1,002
13년 전 조회 1,494
13년 전 조회 2,695
13년 전 조회 1,106
13년 전 조회 2,016
13년 전 조회 1,231
13년 전 조회 1,193
13년 전 조회 2,997
13년 전 조회 1,435
13년 전 조회 1,642
13년 전 조회 1,096
13년 전 조회 2,097
13년 전 조회 1,126
13년 전 조회 1,291
13년 전 조회 1,006
13년 전 조회 1,057
13년 전 조회 1,056
13년 전 조회 1,151
13년 전 조회 2,394
13년 전 조회 1,385
13년 전 조회 1,517
13년 전 조회 2,421
13년 전 조회 1,566
13년 전 조회 3,210
13년 전 조회 1,086
13년 전 조회 3,731
13년 전 조회 1,197
13년 전 조회 4,033
13년 전 조회 1,566
13년 전 조회 1,561
13년 전 조회 1,897
13년 전 조회 877