MySQL 에서 DROP,TRUNCATE 와 DELETE 의 차 이 를 상세 하 게 해석 하여 my sql 0 부터 시작 합 니 다.

1276 단어 mysqltruncate
다른 점:  1. truncate 와 delete 데이터 만 삭제 하고 표 의 구조 만 삭제 하지 않 습 니 다(정의)      drop 문 구 는 표 의 구조 가 의존 하 는 제약(constrain),트리거(trigger),색인(index)을 삭제 합 니 다. 이 표 에 의존 하 는 저장 과정/함 수 는 유지 되 지만 invalid 상태 로 변 합 니 다.  2.delete 문 구 는 dml 입 니 다.이 동작 은 rollback 에 놓 습 니 다. segement 에서 사 무 를 제출 한 후에 야 효력 이 발생 합 니 다.해당 trigger 가 있 으 면 실행 할 때 실 행 됩 니 다.     truncate,drop 은 dl, 작업 이 즉시 유효 하 며,원래 데 이 터 는 rollback 에 두 지 않 습 니 다. segment 에서 스크롤 백 할 수 없습니다. 트리거 를 실행 하지 않 습 니 다.  3.delete 문 구 는 표 가 사용 하 는 extent 에 영향 을 주지 않 습 니 다. 고수 선 워 터 마크)제자리 그대로 유지    분명히 drop 문 구 는 표 가 차지 하 는 공간 을 모두 방출 합 니 다.    truncate 문장 이 부족 한 상황 에서 공간 이 방출 되 는 것 을 볼 수 있다. minextents 개 extent,재사 용 을 사용 하지 않 는 한 storage;   truncate 는 고수 선 을 초기 로 복원 합 니 다.  4.속도,일반적으로 말 하면: drop> truncate > delete  5.안전성:drop 사용 조심 truncate,특히 백업 이 없 을 때.그렇지 않 으 면 울 수도 없어.  사용 에 있어 서 일부 데이터 줄 을 삭제 하려 면 delete 를 사용 하고 where 자 구 를 주의 하 십시오. 스크롤 백 구간 은 충분히 커 야 합 니 다.  시 계 를 삭제 하려 면 drop 을 사용 해 야 합 니 다.  시 계 를 보존 하려 면 모든 데 이 터 를 삭제 합 니 다. 사무 와 무관 하 다 면 truncate 를 사용 하면 됩 니 다. 트 랜 잭 션 과 관련 이 있 거나 trigger 를 실행 하려 면 delete 를 사용 하 십시오.  표 내부 의 조각 을 정리 하 는 것 이 라면 truncate 로 reuse 를 따라 갈 수 있 습 니 다. stroage,데이터 다시 가 져 오기/삽입/실제 응용:delete from table; //모든 데이터 truncate 삭제 table; //autoincreatement 변조 0 부터 시작 합 니 다.사실은 1 부터 시작 합 니 다.

좋은 웹페이지 즐겨찾기