안규 공부방

MS-SQL > where 절에서 날짜 검색

등록일 : 2017-07-03 19:43 조회수 : 92,728

데이터의 날짜의 기간을 검색하는 경우

select * from Table where (writeday>='2011-01-01 00:00:00' and writeday<='2011-01-31 23:59:59')

와 같은 경식으로 검색결과를 읽어 올수 있습니다.

그러나, 상당한 데이터가 쌓이게 되는 경우 위의 쿼리문 날짜검색에서 상당한 부하가 걸리는걸 확인할 수 있었습니다.

이 쿼리를 아래와 같이 바꾸어 주면 데이터를 읽는 시간이 빨라질 수 있습니다.

writeday

select * from Table where (convert(varchar(100),writeday,25)>='2011-01-01 00:00:00' and convert(varchar(100),writeday,25)<='2011-01-31 23:59:59')

convert 함수를 사용하여 writeday 형식을 문자형으로 변경을 시킵니다. 변경후 문자로 비교하게 되면 속도를 향상 시킬 수 있습니다.

위의 경우 4만건이 넘은 데이터를 검색하는 기간이 20초 정도로 답이 안나오는 속도를 2초내로 속도를 향상시켰습니다.
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.