웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
ASC(순차), DESC(역순) 정렬하기.
2005.03.03 23:18
데이터베이스에서는 쿼리문을 날려서 그 실행 결과를 정렬하는 방법을 씁니다.
예를 들어 날짜순으로 정렬할때 오래된것부터, 혹은 가장 최근 것부터 정렬할때 사용합니다.
오래된 것부터 하려면 ASC를 사용하고 최근것은 역순으로 해야 하기에 DESC를 사용합니다.
쿼리문을 예로 들어보겠습니다.
MEMBER라는 테이블에서 등록된 날짜(DATE)가 가장 최근것부터 전체를 불러옵니다.
SELECT * FROM `MEMBER` ORDER BY DATE DESC;
반대는
SELECT * FROM MEMBER ORDER BY DATE ASC; 가 되겠죠.
Mysql이나 Oracle이나 같습니다.
그리고 Oracle은 조금 다른 방법도 있더라구요.
SELECT /*+ INDEX_ASC(MEMBER MEMBER_PK) */ * FROM MEMBER;
SELECT /*+ INDEX_DESC(MEMBER MEMBER_PK) */ * FROM MEMBER;
날짜순으로 검색하는 건 아닌데 PK를 기준으로 ASC, DESC로 정렬합니다.
대략 400~500개의 레코드를 불러 보았는데 속도는 ORDER BY보다 빠른것을 확인했습니다.
팁이라면 팁이구요. 이미 알고 계시다하신다면 할말은 없네요...^^;;;
예를 들어 날짜순으로 정렬할때 오래된것부터, 혹은 가장 최근 것부터 정렬할때 사용합니다.
오래된 것부터 하려면 ASC를 사용하고 최근것은 역순으로 해야 하기에 DESC를 사용합니다.
쿼리문을 예로 들어보겠습니다.
MEMBER라는 테이블에서 등록된 날짜(DATE)가 가장 최근것부터 전체를 불러옵니다.
SELECT * FROM `MEMBER` ORDER BY DATE DESC;
반대는
SELECT * FROM MEMBER ORDER BY DATE ASC; 가 되겠죠.
Mysql이나 Oracle이나 같습니다.
그리고 Oracle은 조금 다른 방법도 있더라구요.
SELECT /*+ INDEX_ASC(MEMBER MEMBER_PK) */ * FROM MEMBER;
SELECT /*+ INDEX_DESC(MEMBER MEMBER_PK) */ * FROM MEMBER;
날짜순으로 검색하는 건 아닌데 PK를 기준으로 ASC, DESC로 정렬합니다.
대략 400~500개의 레코드를 불러 보았는데 속도는 ORDER BY보다 빠른것을 확인했습니다.
팁이라면 팁이구요. 이미 알고 계시다하신다면 할말은 없네요...^^;;;
댓글 4
-
지랄꼴깝
2005.03.13 14:45
학교종이 땡땡땡 어서모이자 -
Xian
2005.03.08 11:25
아.. 오라클 옵티마이저가 인덱스힌트를 사용하는 것이면 쿼리문을 order by로 주나, 인덱스힌트로 주나 같다는 말씀이시죠?
그리고 힌트는 되도록이면 자제하고, 꼭 필요한 경우가 아니면 쓰지 말라는 것이겠죠?
오라클은 이제 막 접해본것이라 모르는 것이 많은데....
말씀 감사합니다...^^; -
정보균
2005.03.05 23:44
간만에 제로보드 사이트와서 팁보고 가는데 잘못된 정보가 있어서
오라클 DBA로서 글을 남기고 갑니다.
--------------------------------------
그리고 Oracle은 조금 다른 방법도 있더라구요.
SELECT /*+ INDEX_ASC(MEMBER MEMBER_PK) */ * FROM MEMBER;
SELECT /*+ INDEX_DESC(MEMBER MEMBER_PK) */ * FROM MEMBER;
날짜순으로 검색하는 건 아닌데 PK를 기준으로 ASC, DESC로 정렬합니다.
대략 400~500개의 레코드를 불러 보았는데 속도는 ORDER BY보다 빠른것을 확인했습니다.
--------------------
인덱스 힌트를 이용하여 사용한것고 order by시 오라클 옵티마이저가 MEMBER MEMBER_PK
인덱스를 이용해서 실행계획을 힌트를 이용하는것과 같이 풀렸다면은 결과는 똑같습니다.
그리고 힌트 사용은 될수 있으면은 자제하는게 Cost Base Optimizer에게 좋습니다. -
꿀떡이당
2007.09.12 10:19
궁금한게 있어서 그러는데요 업로드할시에 내림차순 올림차순 그런것도 변경이 가능한가요?
제목 | 글쓴이 | 날짜 |
---|---|---|
크롬리스(Chromless) 웹어플리케이션 -6 (최종) [4] | sundew | 2003.05.30 |
메뉴 옆에서 화살표가 스크롤되는.. [2] | 힘찬연못 | 2003.05.29 |
크롬리스(Chromless) 웹어플리케이션 -5 [3] | sundew | 2003.05.28 |
스크롤되는 레이어 나두 갖구 싶어서 ^^; 맹글어 봤습니다. [10] | M@xPond | 2003.05.28 |
오른쪽 버튼 클릭시 북마크창 띄우기(1석2조 방식) [4] | RedEye(rinja) | 2003.05.23 |
크롬리스(Chromless) 웹어플리케이션 -4 [4] | sundew | 2003.05.23 |
손님컴퓨터에 내홈피 즐겨찾기 원클릭으로추가시키기 [5] | 호호짱 | 2003.05.23 |
크롬리스(Chromless) 웹어플리케이션 -3 [5] | sundew | 2003.05.21 |
오늘 날짜와 시간 [3] | Brown | 2003.05.20 |
크롬리스(Chromless) 웹어플리케이션 -2 [5] | sundew | 2003.05.18 |
크롬리스(Chromless) 웹어플리케이션 -1 [1] | sundew | 2003.05.17 |
XXX는 객체가 아닙니다. [1] | RedEye | 2003.05.12 |
자바스크립트의 활용함에 대해.... [5] | RedEye | 2003.05.12 |
자바스크립트의 활용함에 대해 2 .... [1] | RedEye | 2003.05.18 |
[벅스 전용] 랜덤 음악 재생 Javascript. [1] | sundew | 2003.05.11 |
구문 오류 및 런타임 오류 모음 [1] | 아이쿠 | 2003.05.10 |
이벤트 핸들러 (Event Handler) 모음 [2] | 아이쿠 | 2003.05.10 |
랜덤 배경화면 구현하기 초간단 스크립트 공개(중복아님) [5] | 호호짱 | 2003.05.07 |
[배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 [20] | 이주경 | 2003.05.06 |
[re] [소스] [배경음악] 첫곡은 랜덤, 그 이후로는 순차재생 --> 문제해결! [1] | 장진석 | 2003.06.02 |