그룹별로 상품이 다른데요
grp_idx 는 해당 그룹의 일련번호
쿼리1 : select * from Group_Product_Pre where grp_idx=2135
쿼리2 : select * from Group_Product_Pre where grp_idx=2128
2개 쿼리 모두 실행되는 갯수는 4300개입니다.
그런데 2쿼리의 실행계획을 보면
쿼리1의 쿼리비용은 1%
쿼리2의 쿼리비용은 99% 입니다.
같은 DB에서 값이 하나만 다를 뿐인데 이렇게 차이가 날까요?
실행계획도 많이 차이가 나구요
그런데 더 이상한건
해당 테이블을 이용해서 페이징을 하면 쿼리2쪽에 있는 그룹이 훨씬 빠릅니다.
조언 부탁 드립니다.
UPDATE STATISTICS Group_Product_Pre 해보시고 다시 돌려보시면
1, 2번 모두 Clustered Index Scan을 할 것 같네요,
통계 업데이트가 제때 이루어지지 않아서 1번 쿼리가 Scan을 하지 않고
Seek를 타고 있어서 페이징을 하고 있을 때, 2번 쿼리가 훨씬 빠른 결과가 나오게 되는 것 같네요.