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 6790 게시물 읽기
No. 6790
테이블 데이터 삭제 후 조회.
작성자
초보
작성일
2014-03-12 10:56
조회수
8,083

 안녕하세요..

이곳에서 많은 정보를 얻어가는 초보 입니다..

이번에 제가 테이블에 데이터를 삭제를 했습니다. 불필요한 데이터들이더라구요..

삭제 전에는 1800만건의 데이터가 있었는데

삭제를 거의 1200만건 정도 하였습니다. 삭제 전에는 조회를 해도 너무 느려서 어떻게 할수가 없을 정도 였습니다.

테이블 구성도 잘못되어 있구요. 

그래서 과감히 삭제를 했는데요. 해당 테이블에 현재 걸려 있는 키들입니다.

 

 

nonclustered located on PRIMARY basi_dt

clustered, unique, primary key located on PRIMARY gds_cd, basi_dt, dlco_cd, pre_gb, gds_clf

해당 테이블이 delete, update, insert 자주 일어나는 테이블 이거든요..

그래서 데이터삭제 후 키를 다시 생성해 줘야 하는지 모르겠어서요.

데이터 삭제 후 조회가 좀 빨라 지기는 했는데 많이 빨라 진것 같지는 않아서요.

찾아보니 키를 삭제 후 재 생성해주면 좋다고 하던데. 어떻게 해야 하나요.??

수고하세요..

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

ALTER INDEX ALL ON 테이블이름 REBUILD;

GO

우욱님이 2014-03-12 11:24에 작성한 댓글입니다. Edit

 우욱님 늘 감사들입니다.

제가 SQL2000 사용중이라서요..

알려주신 쿼리가 안되네요..

삭제 후 재 설정 해야 하나요.??

 

초보님이 2014-03-12 13:28에 작성한 댓글입니다. Edit

언제까지 2000을... 휴우...

삭제 후 재생성도 가능하지만(아래 적는 방법보다 많이 쉬운...)

600만건이라도 양이 작진 않기에 (2000깔린 서버라면 성능이 그러리라 짐작되는..) 엄청 오래 걸릴거 같다면

  1. "SELECT INTO 쌔테이블 FROM 테이블명 ~~"를 이용해서 싸그리 새 테이블에 부어버리고 만들어진 테이블에서 인덱스 생성 다 하고
  2. 서비스 중단 시키고
  3. 외래키 끊고
  4. 테이블명 -> 테이블명옛날꺼  로 이름 바꾸고
  5. 쌔테이블 -> 테이블명  로 이름 바꾸고
  6. 부은 시점부터 변경된 내역 반영시키고
  7. 외래키 연결하고
  8. 서비스 재개하고

식으로 하는 것도 고려해 보세요.

우욱님이 2014-03-12 15:45에 작성한 댓글입니다.
이 댓글은 2014-03-12 15:47에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6793동적정적쿼리 병행사용 [2]
상도동
2014-03-17
7962
6792날짜 출력에 관하여 질문 드려용 [1]
이성원
2014-03-13
7755
6791mssql 에서 채번? PK코드 값을 자동으로 넣고 싶습니다. [4]
풀잎
2014-03-12
11963
6790테이블 데이터 삭제 후 조회. [3]
초보
2014-03-12
8083
6789한 테이블 동시 접근에 관하여 질문 드려요! [4]
이성원
2014-02-28
10555
6787전화번호 번호이동에 따른 전화번호 업데이트 관련 문의입니다. [6]
골프
2014-02-07
8750
6785IP접속 불가 [1]
신승범
2014-02-04
7946
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.058초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다