안녕하세요.

날짜와 관련된 속도 문의 드립니다.

northwind 데이터베이스에서 연습하고 있구요.

Orders테이블에 orderDate가 넌클러스터인덱스로 돼있고 타입은 datetime입니다.


예를들어 제가 2000년 5월 조건만 추출하고 싶다고 가정합니다.

첫번째 쿼리는 SARG를 모르고 orderDate에 연산을 넣었던 쿼리입니다.

SELECT * FROM orders WHERE datepart(yy, orderDate) = 1998 AND datepart(mm, orderDate) = 5

두번째 쿼리는 제 나름 SARG에 대해 공부했다 생각하고 작성한 쿼리입니다.

SELECT * FROM orders WHERE orderDate BETWEEN convert(datetime, '1998-05-01') AND convert(datetime, '1998-05-31')

(더 좋은 쿼리가 있다면 알려주세요.)

아래는 쿼리에 대한 결과입니다.

왜 첫번째 쿼리가 더 빠를까요??

convert(datetime, '날짜') 형식에서 과도한 연산이 발생하는걸까요?

11.PNG

아래는 논리적 읽기수인데 이건 두번째가 더 낮네요. 속도를 판별할때 어떤것이 기준이 되어야 하나요?

논리적읽기수, 쿼리비용, 예상IO비용, 예상CPU비용 어떤건가요?

첫번째 쿼리 읽기수

테이블 'Orders'. 검색 수 1, 논리적 읽기 수 33

두번째 쿼리 읽기수

테이블 'Orders'. 검색 수 1, 논리적 읽기 수 22


예상IO비용 비교

첫번째 : 0.0087

두번째 : 0.0170

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 1065
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1666
6676 복구모드 단순->전체로 변경시.. [3] 처리짱 2013.04.11 6493
6675 fn_dblog 에 대한 질문드려요. [3] 나는짱이야 2013.04.11 7106
6674 SSMS상의 표준보고서 [6] 메칸더 2013.04.11 6690
6673 vb에서 프로시져 참조 [2] q0822kang 2013.04.10 6692
6672 ODBC 데이터원본 생성 오류... [1] 꼬마일꾼 2013.04.10 6481
6671 MFC ODBC 쿼리 질문드립니다. is유랑 2013.04.10 11255
6670 집계 함수에서 오류가 나네요 [3] 백경록 2013.04.10 5687
6669 조인시 ON 조건과 WHERE 조건 질문입니다. [2] 김락중_278785 2013.04.10 6431
6668 SSIS 패키지에서 ORACLE OLE DB 연결이 안되네요.. [3] 마약중독 2013.04.09 11555
6667 또 질문있어요 [1] 이야이야요 2013.04.09 5679
6666 스탠다드에서 엔터프라이즈로.. [1] bios 2013.04.09 6603
6665 성적분포 쿼리 질문 [2] 검도인 2013.04.09 9703
6664 질문이예요!! [2] 이야이야요 2013.04.09 5562
6663 MDF 크기와 메모리의 상관관계가 있나요? [2] 제온 2013.04.08 6837
6662 select 쿼리 도와주세요.. [1] neiyan 2013.04.08 6254
6661 MSSQL2008R2 일정시간 에러가 납니다. [2] minnin 2013.04.08 6108
6660 db로그 크기가 줄질 않습니다. [2] inter1098 2013.04.08 6471
6659 MSSQL과 MYSQL 연동 문제 입니다. [3] minnin 2013.04.08 12662
» 날짜 조건에서 쿼리 속도차이 [3] 화성에서왔어요 2013.04.08 9389
6657 Job이 이전으로 돌아갑니다. [1] 군고구마 2013.04.08 5366





XE Login