SQL 2005 에서요,
3개의 테이블이 있습니다.
table A table B, table C
aid - nvarchar(6) bid - nvarchar(6) cid - nvarchar(4)
bid - nvarchar(6) bName - nvarchar(50) cName - nvarchar(50)
cid - nvarchar(4)
aName - nvarchar(50)
이렇게 3개의 테이블을 조인해서
SELECT A.aid, SUBSTRING(A.aName, 0, CHARINDEX(char(10), A.aName)) AS AName, b.Name, c.cName
FROM A A
LEFT OUTER JOIN B B ON B.bid = A.bid
LEFT OUTER JOIN C C ON C.cid = A.cid
WHERE SUBSTRING(C.cName, 8, 4) = @cName
이런 쿼리를 만들었습니다.
결과는 잘 가져옵니다.
그런데 WHERE SUBSTRING(C.cName, 8, 4) = @cName <- 이 부분이 좀 걸립니다.
속도가 좀 느린듯한 느낌이 있어서, 혹시 더 빠르고 바른 방법이 있는지 알고 싶습니다.
제가 원하는건 해당필드의 마지막 4자리 문자 와 변수 값이 같은 결과를 얻고 싶습니다.
그리고 다른 하나는 쿼리는 아니구요,
최대 접속자가 20~30명 정도인 window application program 환경 입니다.
그런데 window application program에서 얻는 결과 값 속도가 너무 불규칙 합니다.
어떨때는 빠르다가 어떨때는 너무 느리고, 제가 데이터베이스에 대해서 잘 몰라서 혹시,
데이터베이스를 모니터링 한다거나 혹은 다른 어떤 방법으로 체크 해 볼 수 있을까요?
그럼 고수님들의 고견을 기다립니다....
|