안녕하세요. 까막입니다.
사용할 Index 강제 지정법을 몰라서 질답란에 올렸다가 찾았는데요.
나름대로 유용한 정보라고 판단이 되어서 여기에 다시 올립니다.
다른 분들도 저처럼 이런게 필요할 수 있으시니까요. ^^
Demand 청구테이블.
__CustomerId 고객번호.
__DMonth 청구월
__DemandAmt 청구금액
__...
뭐 이런식으로 테이블이 있다고 하고요.
Primary Key -> CustomerId,DMonth : Demand_PK. Ascending.
Index -> DMonth : Demand_Idx. Descending.
Primary Key 랑 Index 가 이렇게 구성되어 있읍니다.
Query 실행시
SELECT SUM(D.DemandAmt)
FROM Demand D
WHERE D.CustomerId = '00020041027'
AND D.DMonth <= '200902'
이렇게 조건을 주고, 실행을 하니 Demand_Idx 를 사용해서 실행을 하더군요.
덕분에 결과값 도출에 오랜 시간이 걸리고요.
Demand_PK 를 사용하면 빠른 시간에 결과 도출이 가능한데 말이죠.
해서 사용할 Index 를 강제로 지정할 방법을 찾았읍니다.
SELECT SUM(D.DemandAmt)
FROM Demand D
WHERE D.CustomerId = '00020041027'
AND D.DMonth <= '200902'
PLAN (D INDEX (Demand_PK))
이렇게 실행을 하니, 원하는대로 Demand_PK 를 사용해서 실행을 하는군요.
Index 를 강제로 지정을 하고 싶으시면 위처럼 PLAN (....) 하시면 강제로 지정이 가능합니다.
위대한 단군혼이 살아있는 나라.... 대한민국.
|