웹마스터 팁
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
궁금한게 있어서 그러는데요 업로드할시에 내림차순 올림차순 그런것도 변경이 가능한가요?
제목 | 글쓴이 | 날짜 |
---|---|---|
[PHP 동영상강좌] 2. 하이퍼링크, 테이블태그의 사용방법 [15] | 서기 | 2005.11.17 |
[PHP 동영상강좌] 1. HTML이란 무엇인가! [22] | 서기 | 2005.11.17 |
주민등록번호 진위확인
[5]
![]() | 엔시™ | 2005.11.08 |
예전에 책원고로 만들었던것인데 필요한분 사용하세요
[7]
![]() | 유창화 | 2005.10.22 |
이쁜 달력소스입니다.
[2]
![]() | 최문혁 | 2005.09.05 |
자기계정에서 file()가 잘안될때.... [5] | 이진환님 | 2005.08.18 |
일년치 달력을 한꺼번에 보자!!! [4] | 未淚 | 2005.08.07 |
효율적인 경로 지정하기 [9] | 대류 | 2005.07.27 |
대용량 파일 업로드 컴포넌트
[4]
![]() | OTLNO | 2005.06.15 |
트랙백 기능 구현하기. | 태규 | 2005.06.12 |
나만의 미니홈 만들기 ㅡ 메모장 소스 | 예뜨락 | 2005.06.09 |
mysql 테이블 스키마 보는법. [2] | 최문혁 | 2005.05.14 |
나만의 미니홈 만들기 ㅡ 메모장 디자인 (html 소스) [4] | 예뜨락 | 2005.05.12 |
나만의 미니홈 만들기 ㅡ 간단한 최근글 불러오기 [6] | 예뜨락 | 2005.05.09 |
나만의 미니홈 만들기 ㅡ password.php
[8]
![]() | 예뜨락 | 2005.05.07 |
winamp 방송정보 읽어오기 심각한 문제해결
![]() | 이승원 | 2005.05.04 |
[초보]아주쉬운 PHP로 그림에 글자 입히기
[11]
![]() | 김규백 | 2005.04.04 |
DB에서 각종 기념일을 내용,순서순으로 뽑아 정렬하기.. | 박순영 | 2005.03.17 |
ASC(순차), DESC(역순) 정렬하기. [4] | Xian | 2005.03.03 |
사용자 등록/DB생성/테이블 생성
[3]
![]() | QQQ | 2005.03.03 |