DELETE 문 속도 느림 문제 질문드립니다. 1 5 7,424

by 지후 [MySQL] DELEATE 삭제 테이블삭제 [2015.08.10 16:06:50]


테이블명 : TSCOPY

"delete from TSCOPY"

이런형태로 쿼리문을 날려주는데 로딩시간 2초정도 걸립니다. 삭제후 화면 뛰우는데.. 2초후 화면이 뜨게 됩니다.

저 위메 문보다 빠르게 삭제 되는 건 없나요?

삭제 쿼리 명령시 삭제가 2초정도 걸리는지 모르겠습니다.

테이블 안에 데이터도 200줄도 안되는데 너무 느린것 같습니다. ㅠㅠ

답변 부탁드립니다.

by 아발란체 [2015.08.10 16:16:24]

테이블 안에 통째로 지우는 것이라면

TRUNCATE TABLE TSCOPY 하면 DELETE 보다 빠릅니다.

TRUNCATE는 로그를 기록하지 않기 때문에 롤백이 되지 않습니다.


by 지후 [2015.08.10 16:31:15]

위 명령어로는 MYSQL 문이 잘못 되었다고 나옵니다 . ㅠㅠ
 


by jkson [2015.08.10 16:29:42]

느린 이유는 아마도 HWM(High Water Mark) 때문일 거 같네요. 

http://develop.sunshiny.kr/772

이 글 참고하시구요. 

아발란체님 말씀대로  데이터를 모두 지울 때 delete 대신 truncate 하시면

HWM까지 초기화 하니 빠르게 삭제 될 것 같습니다.

---------------------------------------------------------

추가)

MS-SQL이군요;; 오라클인줄 알았..ㅋ sql서버에서도 hwm 개념이 그대로인지

잘모르겠군요.

http://www.softwaretestingclass.com/difference-between-truncate-and-delete-statement-in-sql-server/

이 글 보면 sql 서버에서 truncate와 delete의 차이가 있는데

truncate시 hwm도 삭제된다고 하니 개념은 비슷한 것 같습니다.


by 지후 [2015.08.10 17:17:34]

구글링 하고 똑같이 해봐도 자꾸 에러만 나네요 ㅠㅠ;

SQL 문이 잘못 되었다는 에러만 나옵니다 ㅠㅠ;

TRUNCATE TABLE TSCOPY


by 아발란체 [2015.08.10 18:28:45]

MySQL은 table을 빼고 해보세용 ~

TRUNCATE 테이블명;

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입