2005의 최대 축복은 온라인인덱스를 지원한다는 것이다.
인덱스관리는 DB관리의 매우 큰 부분을 차지한다.
인덱스를 어떻게 타는지에 따라 출력속도는 하늘과 땅 차이이고.
인덱스가 있어도 관리를 안해주고 인덱스 깨진걸 계속 참조해봐야 쓸모가 없다.
그렇다고 인덱스를 계속 리빌딩해주는게 쉽지가 않다. 2000의 경우에는 인덱스를 하게 되면 해당 테이블은 락이 걸리게 되기 때문이다.
2005도 마찬가지다. 그런데,...2005에서는 온라인 인덱스라는 기능이 있어서 새로운 세계를 만날 수 있다.
온라인인덱스 코드를 스케줄로 걸어놓으면 그 시간이 되면 테이블에 대한 잠금 없이 알아서 인덱스재구성을 해준다.
코드는 간단하다. 중요한건 2005 이상이라는 것!!!!!!!!!
ALTER INDEX ALL on 테이블명 REBUILD WITH (ONLINE = on);
이런 코드를 스케줄에 모든 테이블에 대해서 해주게 되면 다음날 아침 매우 상콤한 select 구문을 만날 수 있을 것이다.
물론 온라인인덱스라고 아무런 부하가 없는건 아니고 실행될때 와 종료될때 잠시(몇초) 느려지는 감이 있지만 그 외에는 아무렇지 않다.
새벽 서버가 한가한 시간에 온라인인덱스를 싹~ 걸어놓고, 거기에 덤해서 통계 업데이트 작업도 걸어주면 더욱 좋다.
통계업데이트는
use 데이터베이스명
go
sp_updatestats
go
실행해주면 된다.
MSSQL을 2005 버전으로 설치했다면 반드시 실행해봐야 하는 기능!!! 온라인인덱스!!!! 우우훗!!!
'MSSQL' 카테고리의 다른 글
[스크랩] MSsql 테이블정의서 추출(2000,2005공용) (0) | 2011.08.30 |
---|---|
MSSQL 튜닝업체 추천! (0) | 2011.05.25 |
검색에 관하여... (0) | 2011.04.06 |
mssql group by 작은팁 (0) | 2011.04.06 |
MSSQL2005 row_number() 함수로 게시판 페이지 불러오기 (0) | 2011.04.06 |