검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
MS-SQL 은 이상하게 쿼리가 조금만 복잡해지면 인덱스를 제대로 타지 못하는 경우가 종종 발생하는데, 그 경우에 제대로 된 인덱스를 타게 하려면 다음과 같이 한다. (특히 JOIN 을 사용할 경우 ON 절에 들어가는 필드가 PK 가 아닐 경우에 인덱스를 안탈 수 있는데, 이럴 때 유용하게 사용할 수 있다)
SELECT *
FROM ALLBLOG WITH(INDEX(IX_ALLBLOG_BLOG))
WHERE BLOG=7777777
이렇게 하면 IX_ALLBLOG_BLOG 라는 인덱스를 강제로 타서 결과를 리턴한다. 복잡한 쿼리를 만들 때는 반드시 다음과 같은 옵션들을 사용해서 인덱스를 잘 타고 있는지, 부하는 어느정도 들어가고 있는지를 파악할 수 있도록 한다.
SET SHOWPLAN_ALL ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
SELECT *
FROM ALLBLOG WITH(INDEX(IX_ALLBLOG_BLOG))
WHERE BLOG=7777777
SET STATISTICS TIME OFF
SET STATISTICS IO OFF
SET SHOWPLAN_ALL OFF
* 출처에 댓글을 보니 MS에서 인덱스를 명시적으로 지정하는 것을 권장하지 않는다고 하네요.
출처 http://hacker.golbin.net/wp/archives/622
SELECT *
FROM ALLBLOG WITH(INDEX(IX_ALLBLOG_BLOG))
WHERE BLOG=7777777
이렇게 하면 IX_ALLBLOG_BLOG 라는 인덱스를 강제로 타서 결과를 리턴한다. 복잡한 쿼리를 만들 때는 반드시 다음과 같은 옵션들을 사용해서 인덱스를 잘 타고 있는지, 부하는 어느정도 들어가고 있는지를 파악할 수 있도록 한다.
SET SHOWPLAN_ALL ON
SET STATISTICS IO ON
SET STATISTICS TIME ON
SELECT *
FROM ALLBLOG WITH(INDEX(IX_ALLBLOG_BLOG))
WHERE BLOG=7777777
SET STATISTICS TIME OFF
SET STATISTICS IO OFF
SET SHOWPLAN_ALL OFF
* 출처에 댓글을 보니 MS에서 인덱스를 명시적으로 지정하는 것을 권장하지 않는다고 하네요.
출처 http://hacker.golbin.net/wp/archives/622
'-- MSSQL' 카테고리의 다른 글
MSSQL 2000, 2005 SA 암호변경 (0) | 2008.11.28 |
---|---|
(T-SQL) 서버 측 동적 쿼리에서의 탈출 (0) | 2008.11.21 |
SET SHOWPLAN_TEXT ON (0) | 2008.11.10 |
COUNT(*)와 COUNT(컬럼명) (0) | 2008.11.10 |
SET NOCOUNT ON (0) | 2008.11.07 |
RECENT COMMENT