[SQL] mysql을 / SQLSERVER에서 삭제 대 잘라야의 비교 [중복]
SQLmysql을 / SQLSERVER에서 삭제 대 잘라야의 비교 [중복]
한 가지 mysql을 / SQL 서버 즉 삭제 / 잘라 내기 대해 내 머리에 붙어
어느 것이 더 빠르다?
여기서 삭제 사용 하는가?
여기서 잘라야를 사용 하는가?
해결법
-
==============================
1.지우다
지우다
TRUNCATE
http://beginner-sql-tutorial.com/sql-delete-statement.htm
-
==============================
2.가장 중요한 차이점은 DELETE 작업이 트랜잭션 안전하고 롤백 할 수 있습니다 DELETE 의미하는 기록이다. TRUNCATE는 트랜잭션 내부에서 수행 할 수 없으며 롤백 할 수 없습니다. TRUNCATE가 실수로 잘릴 테이블을 복구 기록되지 않습니다 있기 때문에 DELETE에서 회복보다 훨씬 더 큰 문제입니다.
가장 중요한 차이점은 DELETE 작업이 트랜잭션 안전하고 롤백 할 수 있습니다 DELETE 의미하는 기록이다. TRUNCATE는 트랜잭션 내부에서 수행 할 수 없으며 롤백 할 수 없습니다. TRUNCATE가 실수로 잘릴 테이블을 복구 기록되지 않습니다 있기 때문에 DELETE에서 회복보다 훨씬 더 큰 문제입니다.
외래 키 제약 조건이 깨진 경우 실패합니다 삭제; TRUNCATE는 외래 키 제약 (이 InnoDB 테이블의 경우와) 존경하지 않을 수 있습니다. DELETE 트리거에 어떤 실행됩니다 DELETE; TRUNCATE는하지 않습니다.
자르기 작업을 삭제하고 훨씬 빠르게 특히 큰 테이블에 대해 하나의 행 하나를 삭제하는 것보다 테이블을 다시 만듭니다.
테이블 세트 비어 있음, 1로 자동 증가 키를 재설정해야하는 경우. 이 모든 데이터를 삭제하기 때문에 더 빠른 DELETE 이상입니다. DELETE은 영향을받은 행의 수를 생성하기 위해 테이블을 검색합니다.
필요 행은 WHERE 절 옵션에 따라 삭제합니다. 필요 로그 및 외래 키 제약 조건을 적용
-
==============================
3.삭제 명령은 테이블에서 행을 제거하는 데 사용됩니다
삭제 명령은 테이블에서 행을 제거하는 데 사용됩니다
TRUNCATE 테이블에서 모든 행을 제거합니다. 작업은 롤백 할 수 없습니다 더 트리거 해고되지 않습니다. 따라서, TRUNCATE 빠른이며, DELETE만큼 실행 취소 공간으로 사용하지 않습니다.
-
==============================
4.차:
차:
1) 자르기는 삭제 다음 ID로 시작하는 반면 1로 시작합니다 테이블과 다음 자동 증가 ID와 전체 데이터를 삭제합니다. 2) 모두 그대로 구조를 유지에만 데이터 삭제됩니다. 3) 삭제와 함께 당신은 당신이 할 수없는 잘라 내기와 반면에 제한을 사용할 수 있습니다.
from https://stackoverflow.com/questions/20559893/comparison-of-truncate-vs-delete-in-mysql-sqlserver by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL Server Management Studio의 테이블에서 신속하게 편집 값? (0) | 2020.06.03 |
---|---|
[SQL] MySQL의 해제 및 키 사용 (0) | 2020.06.03 |
[SQL] PostgreSQL의 배열 요소 순서와 배열 형으로 가입, 어떻게 구현하는 방법? (0) | 2020.06.03 |
[SQL] 어떻게 Golang를 사용하여 SQL에서 IN 조회를 실행하려면? (0) | 2020.06.03 |
[SQL] 이 파일의 데이터에 액세스하거나 데이터베이스 서버에 빠른가요? (0) | 2020.06.03 |