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
운영게시판
최근게시물
PostgreSQL Q&A 7419 게시물 읽기
No. 7419
가장 먼저생성된 Row부터 삭제하기
작성자
궁굼이
작성일
2008-04-29 14:20
조회수
5,893

재가 궁굼한것은 제목과 같이 가장 먼저 생성된 Row부터 예를 들어 10만건의 Data를 delete하는 경우

어떻게 해야하는지요? 간단한 sql문 부탁드립니다.

또 한번에 delete할 수 있는 Row건은 MAX얼만가요?

제가 사용하고 있는 Version은 PostgreSQL8.2.5입니다.

답변 미리 감사드립니다.

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

순차적으로 증가하는 unique key가 있으면 가능할 듯 합니다.

예를 들어 순차적으로 증가하는 id라는 컬럼이 있다면


delete from table_a where id < (select id from table_a order by id asc limit 1 offset 100000);


그리고 Oracle 처럼 rollback segment 같은 공간이 별도로 없기 때문에 한번에 삭제할 수 있는 row 수는 특별히 제한 없는 것으로 알고 있습니다. 삭제할 row 수가 많을수록 속도만 떨어질 뿐인거죠.

박성철(gyumee)님이 2008-04-29 15:59에 작성한 댓글입니다.
이 댓글은 2008-04-29 16:00에 마지막으로 수정되었습니다.

저에 경우는 이러한 경우도 대비할겸 무조건 테이블을 만들면


id serial,

timestamp timestamp default now()


이 두개의 컬럼은 만들어놓습니다. id가 integer가 아닐지라도 무조건 id를 serial로 만들어 놓고 primary key처럼 쓸 것은 doc_id varchar(20) unique 처럼 unique로 지정해놓습니다.


미리 이런식으로 만들어놓으면 이런 문제는 아주 편하지요.. 하지만 없을 경우는 골치하프고.. ^^;

하여간 지금 당장 필요없을지 몰라도 만들어놓으면 언젠가는 꼭 쓸일이 있습니다. 반드시...

최정대(whitekid)님이 2008-04-29 16:23에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7424PostgreSQL 8.2 와 8.3 의 차이? [2]
김대청
2008-05-15
6328
7423PostgreSQL 8.1.9번전 SQL_ASCII에서 EUC_JP 변경 [1]
박재우
2008-05-14
6562
7421외부에서procpid번호를 죽이는법 [2]
심상호
2008-05-12
6473
7419가장 먼저생성된 Row부터 삭제하기 [2]
궁굼이
2008-04-29
5893
7418- [1]
아무개
2008-04-26
6360
7417- [2]
아무개
2008-04-26
5905
7415안녕하세요.몇일째 검색해도 안나와서 올려봅니댜.에러좀 봐주세요 [1]
Choi
2008-04-24
7264
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다