database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5633 게시물 읽기
No. 5633
substring으로 잘라낸 문자열 like로 비교하기
작성자
spectra
작성일
2010-04-13 15:41
조회수
7,249

변수로 들어 오는 문자열을 substring으로 잘라낸후  "%"  문자를 붙여서

like 로 비교하는 구문인데 예상과 다르게 그냥 table full scan 을 타버리더라구요.

begin

declare @wedi_cd   varchar(09)
select @wedi_cd = 'M0111'

select a.edi_cd   
from hb_edi_detail a

where a.edi_cd   like  substring(@wedi_cd, 1, 5) + "%'"

end

hb_edi_detail  테이블에 edi_cd 컬럼으로 인덱스는 생성 되어 있으며 강제로 인덱스를 지정해두면 인덱스 full scan 현상이 일어나 어찌되든 i/o가 많이 발생 하더라구요

where a.edi_cd   like  substring(@wedi_cd, 1, 5) + "%'" 이 문장이

where a.edi_cd   like  'M0111%' 처럼 동작하길 기대 하는데 왜 안될까요..ㅜ.ㅜ;;

이 글에 대한 댓글이 총 1건 있습니다.

 like @변수 면 변수에 '%변수%' 가 올지 '변수' 가 올지 예상할 수 없으니까요

박형범(dreamwind)님이 2010-05-11 15:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5636function 관련 질문하나 더 드립니다.
jip102
2010-04-21
6158
5635create function 관련 질문 [3]
jip102
2010-04-21
6406
5634stored procedure 사용에 대해서 질문드려요.. [1]
김장호
2010-04-14
7072
5633substring으로 잘라낸 문자열 like로 비교하기 [1]
spectra
2010-04-13
7249
5631ms 서버 질문 드립니다.......
와니
2010-04-08
5991
5630MS SQL 2005 한글깨짐현상 [1]
최영민
2010-04-12
9095
5629로긴 유저가 접근가능한 디비 정보 얻기
이창수
2010-04-12
6233
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.029초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다