인덱스를 만들때 create index 명령어를 이용하게 되지요. 그런데 이 자료는 B tree에 저장되게 됩니다. 그리고 인덱싱 된 필드에 대해서 desc 옵션을 주어서 자료를 추출하게 되면 DBMS 는 자동으로 인덱스를 역순으로 읽어서 자료를 추출하게 되므로 정순으로 추출하나 역순으로 추출하나 인덱싱이 사용되기는 마찬가지 인 것입니다.
> 안녕하세요 고수님들 ^^
> 지가 어제 여기 사이트 어디엔가에 질문을 올려 놓았는데(물론 mysql 질문 게시판인데요...)도데체 어
> 디에 올라 갔는지 알길이 없더군요. 분명 인터페이스가 이거랑 달랐는데...그래서 다시 질문 올립니다.
>
>
> 다름이 아니고 mysql을 사용하여 게시판 비스무리 한것을 만들고 있습니다. 그런데 문제는 앞으로 1달
> 이내에 게시물의 수가 20만게 이상 되는 프로젝트 입니다. 또한 하나의 테이블에 케테고리별로 나누어
> 여러가지의 게시물이 나열이 되는 기법을 사용해야 합니다.
>
> 그래서 저의 쪽에서 mysql로 100만개 실험을 해 보았습니다만 문제가 심각해 지기 시작 해지더군요.
> 즉 모든 게시물이 날자의 오름차순의 반대로 나열이 되야 하는데 이러기 위해서는 order by date desc
> 이런 식으로 쿼리를 보내야 합니다. 물론 date을 index로 만들었구요 문제는 다중 케테고리 때문인데요
> 즉 where cat='123' order by date desc 라고 하면 로딩 속도가 1분 이상 나옵니다. 여기서 oerder by
> 를 사용하지 않으면 0.3초가 나오고요...
>
> 그래서 저의 아둔한 생각에 떠오른 것이 있는데요, 데이타가 써지는 것을 반대로 나열되어 버리면 구
> 지 order by를 안써도 된다는 것이죠
> 무식하면 용감하다고 하죠 ^^. M$의 access에서 한번 본것 같은데 여기서는 index값을 어떤식으로 나
> 열할것이지 값을 주게 되어 있는것으로 알고 있습니다. 즉 index의 나열이 오름차냐 내림차냐 라고 하
> 면 구지 order by를 안써도 되는 것이라는 것인데 이게 mysql에서도 가능 한지, 만약 가능하다면 어떻
> 게 해야 되는지 궁금 합니다.
>
> 고수님들 도와 주시기 바랍니다.
|