초코비니

MySQL between 날짜 조회 본문

SQL

MySQL between 날짜 조회

초코비니 2016. 6. 19. 12:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

에구야 -ㅅ-;


잠깐 제가 어제 만든 앱에 접속자가 몇명인지 뽑고 싶어서 잠깐 쿼리문을 치다가 함수가 기억 안나는겁니다.


그래서 검색을 해봤는대...


뭐 정답아닌 정답을 써주신 글이 보이더군요.


일단 작성한 분의 글을 읽어보니


select * from test where date_format(test_date,'%Y-%m-%d') between '2016-06-18' and '2016-06-19';


였습니다.


뭐 원하는 결과값을 뽑아 낼 수는 있습니다.


근대 where 조건절에 date_format을 사용하는건 바람직하지 않죠.


이유를 설명하겠습니다.


test 테이블에 데이터가 1000건이 있습니다.


위 쿼리는 1000개의 데이터를 date_format 함수로 변경을 하고 조회를 하게되는거죠.


바람직하지 않습니다.


대신 뒤의 between 부분에 date_format을 사용한다면 2개의 문자열만 변환을 거치게 되겠죠.



select * from test where test_date between date_format('20160618','%Y%m%d') and date_format('20160619','%Y%m%d');


이러한 형식으로 말이죠.


데이터 건수가 많아지면 첫번째 쿼리는 속도의 문제가 생기게됩니다.


그래서 저는 항상 후자 방식의 쿼리문으로 사용하고 있습니다.


참고하세요.

'SQL' 카테고리의 다른 글

MySQL Int 자료형 사이즈  (0) 2015.11.21
mysql 만 나이 구하기  (0) 2015.09.12
Comments