안녕하세요.


매일 좋은 자료만 보다가 처음으로 직접 질문을 올리게 되네요.


다름 아니라 변수값 형태에 따라 인덱스를 타는 방식에 대한 질문을 드리고자 합니다.


예1) 변수로 받아서 조건에 입력

declare @in_date1 varchar(10),

           @in_date2 varchar(10)

set @in_date1 = '2014-08-01'

set @in_date2 = '2014-08-10'


select * from test where indate > @in_date1 and indate < @in_date2


예2) 조건에 직접 입력 

select * from test where indate >'2014-08-01' and indate <'2014-08-10'


SQL 은 MSSQL 2008 R2 버전이며, 


test 테이블의 indate 컬럼은 datetime 형식이며, 인덱스가 달려있습니다. 


그런데 위와 같이 두 쿼리를 실행하면 예1)은 index scan 이 일어나여, 예2) 는 index seek 가 일어납니다. 

이 때문에 속도에서 상당한 차이를 보이고 있는데요.


indate 컬럼이 datetime 형식이어서 varchar 로 받은 변수값을 convert 하면서 index scan이 발생하는 느낌이기는 한데,

정확한 이유를 모르겠어요.


예1)의 쿼리문을 index seek 가 일어나도록 하는 방법은 없을까요? 테이블 구조를 건드리지는 않으면서 쿼리만 수정할 수 있는 방법이 없을까요?


이러저리 형변환을 해도 동일하며, 동적쿼리로 작성을 해봐도 알 수가 없네요.


제가 워낙 초보라서 질문조차 조금 서툴르네요. 


도움 부탁드릴께요.


감사합니다. 



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 23442
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12418
» 데이터 형식 변환에 따른 index 질문드립니다 [10] 별난사람 2014.08.16 2733
8119 누적집계쿼리 문의 [1] devil5538 2014.08.14 3600
8118 sql server agent 시작이 안되요. [1] 흑흑 2014.08.14 3275
8117 sql between 쿼리 질문드립니다. [1] halonamomo 2014.08.13 3207
8116 스크립트 파일 실행 질문드리니다! [1] 파파곰 2014.08.13 2477
8115 데이터 형식 변환 에러 질문입니다. [3] 고구망 2014.08.13 6359
8114 차감 수량 구하기 [2] 다초 2014.08.13 3335
8113 쿼리로 실행할땐 빠른데 저장프로시저를 호출하면 느린 이유는? [2] 무념 2014.08.12 6326
8112 group by 질문 [2] ninanio3 2014.08.12 1946
8111 SQL 쿼리 질문좀 드려요 ㅠㅠ [3] 곰팅팅이 2014.08.12 3129
8110 DB서버구축시 꼭 서버OS 만 가능한가요? [4] 김영환_281520 2014.08.11 5456
8109 표형식으로 데이타 select 쿼리 문의입니다. [3] 이길우 2014.08.11 2569
8108 조건문 관련 질문드립니다. [3] 늦둥이 2014.08.11 2067
8107 (이전질문 8108) 테이블 공간 확인 질문.. SQL어렵.. 2014.08.11 2025
8106 left outer join 쿼리 질문 있습니다. [7] 옹기종기 2014.08.10 3445
8105 sql server2014 에서 연결된 서버 kwanny 2014.08.09 2499
8104 쿼리 질문 드립니다. [2] 파르미 2014.08.08 2261
8103 text타입의 내용부분이 검색이 무지 느리네요. 쿼리문 조언부탁드립니다. [3] 김영환_281520 2014.08.08 2639
8102 트랜젝션 백업에 문제가 생겼습니다ㅠㅠ [1] 사이드사이드 2014.08.07 2153
8101 MS-SQL 버전별 서비스팩 업데이트 아직모자란사람 2014.08.07 3836





XE Login