다음과 같이 테이블을 생성하고 테스트 해봤습니다.
create table test (
age int,
name varch(30)
);
create index idx_test_age on test(age);
그리고 임의의 데이타를 10만개 올리고 나서
다음의 query를 했을 경우 0.1초 미만의 시간이 걸렸지만
select * from test
where age <30;
다음의 query의 경우 거의 10초 가까이 걸리네요.
select * from test
where age <30
order by age;
하지만 다음과 같이 힌트를 주었을 경우에는 0.1초 미만의 시간이 걸립니다.
select {* index(test idx_test_age)} * from test
where age <30
order by age;
추측하건데... where안의 column은 index를 잘 타지만 order by는 index를 잘타지 못한다. 그런데 hint를 주면 잘탄다...
힌트를 주지 않고 order by절의 column이 index를 잘타게 할수는 없나요?
|