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 29389 게시물 읽기
No. 29389
alter table TableName order by ColName [ASC | DESC] 질문합니다.
작성자
VV
작성일
2009-11-06 09:48ⓒ
2009-11-06 16:29ⓜ
조회수
5,627

alter table TableName order by ColName DESC 하면 지금까지의 자료만 역정렬 한다고 들었습니다.


그럼 만약에 게시판을 예로 들어서.


8 7 6 5 4 3 2 1 이렇게 정렬된상태에서 글을 하나 더 쓴다면


8 7 6 5 4 3 2 1 9 가 되는건데 이때 [alter table TableName order by ColName]를 사용해서 9 8 7 6 5 4 3 2 1을 만들면 처음 8개 정렬한것보다 훨씬 바르게 동작할까요?




정리


게시물이 10만개인 게시판이 있을 때 글쓰기 때마다 매번 [alter table TableName order by ColName desc]를 쓰는것이 효율면에서 바람직할까요?


이미 10만개가 DESC정렬되어있고 흐트러진 하나만 맞추는것이 자원소비가 심할까요?

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

안녕하세요 박성원입니다. 


ㅎㅎ 일전에 답글에 달았던 alter 구문이네요 ^^;
(흐미.. 오타가 있네요 tabgle가 아니라 table에요~ ^^)

네~ 우선 말씀하신것처럼 해당 alter구문으로 index를 desc로 재정렬을 할 수 있습니다. 


10만개의 테이블에서 해당 alter 구문을 이용하면 desc로 정렬이 되어서 select문의 return값으로 받아오긴하죠

예를들면

100000
99999
99998
99997
.
.
.
.
.
1

이런식으로 정렬이 됩니다. 그러나 바로 insert 구문이 들어오면

100000
99999
99998
99997
.
.
.
.
.
1
100001

이런식으로 다음 insert가 이루어지는것입죠!!


즉, desc로 정렬해서 데이터를 가져오는것 limit와 함께 최근 데이터를 가져오는것으로 사용할 때 유용하겟죠
말씀하신것처럼 다음 insert 값이 없다고 가정하고 10만개의 desc 정렬의 시간이 극히 짧다면 아마 가능 할 수있겠지만

 다음 insert의 타이밍에 대한 trigger를 만들거나 check하는 모듈을 사용할 정도의 다른 리소스를 사용할 것이라면 그냥 결과값을 가져올때 order by desc 정렬 후에 사용하는것이 더 효율적일듯합니다. 



개인적인 생각이구요 아마도 고수님들은 다른 방법으로 이것을 사용할 수 있을듯합니다. 

요는 생각의 차이가 테크닉의 차이로 이루어 질 수 있다는것이죠!!


그럼 VV님~~ 한번 도전해보시고 구현 후기 올려주세요 ^^




박성원(darkancia)님이 2009-11-06 11:01에 작성한 댓글입니다.
이 댓글은 2009-11-06 11:05에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
29393auto_increment 필드 초기화? [2]
정대원
2009-11-09
5820
29391업데이트문 질문입니다. [1]
sjy
2009-11-08
5505
29390최근글 3개중에 1개이상 등록한 아이디 추출 부탁드립니다. [2]
장춘진
2009-11-07
5293
29389alter table TableName order by ColName [ASC | DESC] 질문합니다. [1]
VV
2009-11-06
5627
29387Invalid default value for'mid"에러좀찾아주세요 [1]
이희현
2009-10-31
5830
29386desc 정렬 후, 3개씩만 출력 하는 방법 [1]
acooda
2009-10-31
5693
29385쿼리 사용 방법에 간한 기초적인 질문 입니다. [1]
짱가
2009-10-31
5675
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다