안녕하세요. 까막입니다.
청구정보를 저장하는 테이블이 있는데요.
CustomerId, DMonth 라는 필드를 Primary Key 로 지정을 했읍니다. 오름차순이지요. -> Demand_PK
그리고, DMonth 필드에 따로 내림차순으로 Index 를 걸었고요. -> Demand_Idx
Query 조건문에서요.
WHERE CustomerId = '00041027'
AND DMonth <= '200902'
이 조건을 줬을때, Index 를 Demand_Idx 를 사용하더군요.
DMonth 필드에 내림차순으로 걸어둔 Index 요.
위 조건은 Demand_PK 를 사용하리라고 생각을 했는데,
다른 Index 를 사용해버려서 결과 도출이 많이 늦어지게 됩니다.
Demand_Idx 를 삭제하고 실행하면 많이 빨라지고요. 건수가 많아질수록 차이가 벌어지겠죠.
다른 Query에서 Demand_Idx 를 사용하기 때문에 이 Index 를 삭제할수도 없거든요.
마찬 가지로 속도문제 때문에요.
강제로 사용할 Index 를 지정할 방법이 있을까요?
SQL Server 등에서는 Index 지정이 가능한데, Firebird 는 찾아봐도 잘 모르겠더군요.
도움 부탁드립니다.
위대한 단군혼이 살아있는 나라.... 대한민국.
|