database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29945 게시물 읽기
No. 29945
오라클의 index_desc
작성자
ㅎㅎ
작성일
2011-03-17 20:10
조회수
9,181

오라클에 index_desc힌트라는 것이 있어서 order by를 쓰지 않아도 해당 인덱스의 조건에 따라 최근 데이터로부터 추출된다고 하는데,,

(사실 이것도 정확하게 이해가 가질 않네요 ㅠㅠ)

mysql에는 이런것이 있는가해서요..

limit 이라는 것이 있다고들 하는데.. limit은 이미 order by 된 데이터에서 몇개를 추출하는 것이기때문에 정렬과는 좀 무관하다는 생각이 들어서요.

 

select *

from t_A

order by reg_date desc

limit 0,20

 

이렇게 쓰게되면 t_A 테이블의 전체데이터를 등록일을 역순으로 정렬한 후에 limit을 해주는 것이기때문에 부하가 생기는 것 아닌지요.

마소지에 있는 '목록 쿼리를 최적화하자'라는 컬럼을 보다가 궁금한 점입니다.

 

고수님들 답변 부탁드려요~

 

이 글에 대한 댓글이 총 5건 있습니다.

 

 

인덱스 태우시고 오더바이 데스크 리미트 20 하시면 되겠죠..

 

select * from t_A where reg_date > 10일전 날짜 order by reg_date DESC limit 20

 

 

민족님이 2011-03-18 10:48에 작성한 댓글입니다. Edit

order by를 할때 reg_date desc를 하게 되면

전체 데이터의 reg_date를 읽은 후에 desc정렬을 하기 때문에 생기는 부하가 있잖아요.

 

그렇게 때문에 order by를 하지 않고 날짜순으로 정렬할 수 있는 방법이 있는지 궁금한 것입니다.

 

gg님이 2011-03-18 11:50에 작성한 댓글입니다. Edit

민족님 말씀과 같이, reg_date에 인덱스 태우시면, 사실 '전체 데이터의 reg_date'를 읽는 경우는 발생하지 않습니다. 이는 사용하고 계신 엔진의 내부 설계를 참고하시면 확인하실 수 있으시리라 생각됩니다.

 

ORDER BY가 그래도 찝찝하시다면, 방법은 ALTER TABLE [table] ORDER BY [col_name], .. 밖에는 없습니다.

ALTER TABLE t_A ORDER BY reg_date DESC;

 

이는 해당 테이블의 데이터를 지정된 조건으로 완전 재정렬하게 되고, 당연히 오래 걸립니다.

참고하세요.

박현우(lqez)님이 2011-03-18 17:39에 작성한 댓글입니다.

 

현우님 질문 있습니다.

 

현재 컬럼 단위로 정렬 해서 저장하는게 되는건가여??

 

아직 적용안된걸로 알고있는데...

 

아니면... 저장된내용에 대해서만 재정렬 하게 되는건지...?

민족님이 2011-03-18 17:57에 작성한 댓글입니다. Edit

민족님께서 생각하신 바와 마찬가지로 '현재까지 저장된 내용'에 대해서만 재정렬합니다.

일반적인 상황에서는 쓸 수 없지만, 그래도 가끔 쓸모있을 때가 있지 않을까 싶습니다. ^^

박현우(lqez)님이 2011-03-19 00:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29949MySQL Cluster 문의 드립니다. [2]
궁금
2011-03-22
7791
29947MySql 제약조건에 관하여 궁금합니다. [1]
김범수
2011-03-18
9309
29946[질문] 테이블 생성시 제약 조건 [2]
권기혁
2011-03-18
7845
29945오라클의 index_desc [5]
ㅎㅎ
2011-03-17
9181
299445.1.x에서 이벤트 스케줄러가 죽습니다.
송동욱
2011-03-17
8406
29943[질문] mysql 리플리케이션 질문 [3]
김하림
2011-03-15
8814
29942ERROR 로그 중에 어떤게 크리티컬한 오류 일까요? [4]
mysql
2011-03-15
9325
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다