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
운영게시판
최근게시물
MS-SQL Q&A 4471 게시물 읽기
No. 4471
< MS -SQL에서 등록된 Record에서 가장 빠른 것을 찾은 다음에..>
작성자
초보자
작성일
2008-10-08 09:14
조회수
5,227

수고 많으십니다.


저는 SQL초보자 입니다.


그런데 order by 때문에 성능에 많은 영향을 받고 있는 것이 있어 이를 좀 개선 하고자 하는데 어렵네요.


select aaa, bbb, ccc from AD_SCH where cid = '345' order by reg_date desc, reg_time desc


으로 되어져 있는 문장이 무지 많이 있습니다.


사실 이 문장으로 모통 3~4개의 Data를 가져 옵니다. 그런데 그 중 맨 위의 건만 사용합니다. Top 1이 빠져 있다고 보면 됩니다.


과거의 개발자가 정말 재미 있는 사람 이었나  봅니다.


저는 Order by를 쓰지 않고, MAX를 사용하여 reg_date의 최고 빠른 record를 찾은 다음에 그 해당하는 record의 3개의 field 만을 가지고 오고  싶습니다.


어떻게 해야 하나요. 많은 고민을 해 보았지만, 생각 날 것 같으면서도 나지 않네요. 한번 읽으면서 처리 할 수 있는 방법이 있나요?


고수님들의 조언 부탁드립니다.


감사합니다.

 

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

reg_date 가 datetime 형태인가여 ^^;


일단 reg_date desc로 정렬로되게 인덱스를 걸고


SET ROWCOUNT 1

SELECT reg_date FROM AD_SCH


SET ROWCOUNT 0


이렇게 하시면 됩니다


그럼

김병석(byung82)님이 2008-10-08 10:34에 작성한 댓글입니다.

그런데...답변을 보니까 질문이 하나더 생겨서 올립니다.

ASP에서 개발을 하고 있는데 위에서 위와 같이 sql을 실행 하려면 어떻게 해야 하나요?

오라클에서는 hint를 쓰면 가볍게 답변을 주신 분처럼 가져 올 수 있는데...

Index를 거는 것도 모르겠고....

정말 산 너머 산이네요....

조금만 힌트를 더 주실 수 없나요?

감사합니다.

초보자님이 2008-10-08 16:45에 작성한 댓글입니다. Edit

클러스터드 인덱스를 reg_date desc, reg_time desc 로 거시면

데이터 저장순서가 reg_date desc, reg_time desc 로 됩니다.


그래서 ..  

set rowcount 1
select aaa. bbb. ccc. from AD_SCH where cid = '345' 
set rowcount 0

또는 

select top 1 aaa. bbb. ccc. from AD_SCH where cid = '345' 

라고만 하시면 하면


select top 1 aaa, bbb, ccc from AD_SCH where cid = '345' order by reg_date desc, reg_time desc

과 동일한 결과를 가져옵니다.

민종필(moranjp)님이 2008-10-29 13:38에 작성한 댓글입니다.
이 댓글은 2008-10-29 14:02에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
4474증가분 구하기... [1]
조중규
2008-10-08
5081
4473회원별 최근 주문내역을 뽑으려면.. [1]
제비우스
2008-10-08
5318
4472중복데이타 안불러오기.. [1]
음악소년
2008-10-08
5219
4471< MS -SQL에서 등록된 Record에서 가장 빠른 것을 찾은 다음에..> [3]
초보자
2008-10-08
5227
4470최대 허용 시간을 초과했습니다라는 메시지뜰때 [1]
궁금
2008-10-07
6794
4469alter table을 이용한 테이블 제약조건 질문있어요~ [1]
케이
2008-10-06
5829
4468MS-SQL 2000 엔터프라이즈와 스탠다드의 호환? [2]
초보
2008-10-03
5794
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다