, 잘라 내기에서 SQL을 비교 삭제하고 드롭

같은 점 :

  1.truncate 삭제 where 절없이, 데이터가 드롭 테이블에서 삭제됩니다.

 

  2.drop, DDL 문 (데이터 정의 언어), 자동 실행 이후에 제출 될 것입니다 자릅니다.

 

차이 :

  1. 전용 (정의) 테이블 구조를 삭제하지 않고 삭제 된 데이터를 잘라 내기 및 삭제
  테이블 문 구조를 삭제 드롭 의존 제약 (제약), 트리거 (방아쇠), 인덱스 (색인)이며, 저장 프로 시저가 테이블에 의존 / 기능은 남아 있지만 잘못된 상태가 될 것이다.

 

  실행이 트리거 될 때, 해당 트리거가있는 경우 2. 삭제 문은 데이터베이스 조작 언어 (DML)는,이 작업은 트랜잭션이 커밋 후에 만 적용 롤백 segement을 넣어 것입니다.
  즉각적인 효과와 운영, 데이터베이스 정의 언어 (DDL)를 드롭, 절단, 원래의 데이터를 넣어되지 롤백 세그먼트는 롤백 할 수 없습니다, 운영자는 트리거를 트리거하지 않습니다.

 

  3.delete 문은 움직이지 않는 원래의 위치를 유지하기 위해 범위, 높은 수선 (높은 워터 마크)가 차지하는 테이블에 영향을주지 않는
  테이블에 의해 점유 된 모든 공간을 출시 할 예정 드롭 문을.
  잘라 내기가 (다시 처음으로) 높은 물 라인을 재설정합니다, 재사용 저장하지 않는 기본 공간 MINEXTENTS에 범위를 발표 문을 잘라 참조하십시오.

 

  4. 속도, 일반 : 드롭> 잘라 내기> 삭제

 

  5. 보안 :. 드롭을 사용하여 조심 너무 울 후반이 더 백업없는 경우 나 특히, 절단
  에 관심을 가지고 삭제와 행을 삭제하고자하는 데이터의 일부에 사용 절 롤백 세그먼트가 충분히 커야한다 어디 ..
  테이블을 삭제하려면, 물론, 드롭
  트랜잭션에 잘라 내기와 전혀 관련이 없다면 당신은 모든 데이터 테이블이 삭제됩니다 유지하려는합니다. 경우에 관한 사항, 트리거, 또는 삭제를 트리거 할 나.
  이 내부 테이블 조각을 마무리하는 경우, 당신은 데이터를 삽입 /에 재 도입 재사용 stroage을 유지자를 수 있습니다.


  6.delete DML 문이 자동으로 제출되지 않습니다. 드롭 / 잘라 내기가 자동으로 실행 후 제출됩니다, DDL 문이다.

 

  7, 표를 자르고 절은 기능적으로 동일 어디에와 DELETE 문 : 두 테이블의 모든 행을 제거합니다. 그러나 표가 속도를 삭제보다 빠른 TRUNCATE, 적은 시스템 및 트랜잭션 로그 리소스를 사용했다. DELETE 문은 각 행을 삭제하고, 각 행은 트랜잭션 로그에서 삭제 된 기록입니다. 사용 된 데이터 페이지 테이블 자료의 방출에 의해 저장된 데이터를 삭제 TRUNCATE TABLE을, 오직 트랜잭션 로그에 기록 된 페이지를 놓습니다. 

 

  8, TABLE 테이블의 모든 행을 삭제 TRUNCATE하지만, 그래서 테이블 구조와 그 열, 제약 조건, 인덱스와는 변경되지 않습니다. 해당 컬럼에 사용되는 새로운 라인 카운트 값 시드 식별. 당신은 신원 카운트 값을 유지하려면, DELETE를 사용합니다. 당신이 테이블 정의와 데이터를 제거하려면 DROP TABLE 문을 사용합니다.  
    
  9, FOREIGN KEY 제약 조건에 의해 참조 테이블은 TRUNCATE 테이블을 사용할 수 없습니다 만, WHERE 절 DELETE 문을 사용하지 말아야합니다. TRUNCATE 표가 기록되지 않기 때문에, 그것은 트리거를 활성화 할 수 없습니다.    
 

  10이 아닌 테이블 인덱싱 된 뷰에 참여 표를 TRUNCATE

 

하락

드롭 (사용 데이터베이스 이름 (테이블 테이블 이름 드롭 열 필드 이름을 변경, 데이터베이스 (드롭 데이터베이스 데이터베이스 이름을) 삭제 (표 1 이름의 사용 데이터베이스 이름 드롭 테이블 데이터, 표 2의 데이터) 데이터 테이블을 삭제하거나 데이터 테이블 필드를 삭제할 수 있습니다 열 이름)).

특히 : 드롭 문은 테이블의 구조에 의존적 제약 (제약), 방아쇠 (트리거), 인덱스 (색인)는 제거, 절차 / 기능에 저장된 종속 테이블이 유지되지만, 무효 상태가된다.

 

잘라 내기

테이블 (테이블 테이블 이름을 잘라야) 삭제하지 않고, 테이블의 데이터, 테이블 데이터의 데이터 만 삭제에 대한 데이터를 자릅니다.

 

지우다

삭제 : 행을 삭제할 수 있습니다, 테이블의 데이터 행을 삭제, 모든 행은 데이터 테이블을 (: 테이블 이름에서 삭제 어디에 열 이름 = 값 행을 삭제) 삭제하지 않고 삭제 될 수 있습니다.

 

세 가지의 차이

 

삭제 속도를 구별하려면 :

천천히 일반적으로 고속에서 데이터 속도를 삭제하는 측면에서 : 드롭> 잘라 내기> 삭제

 

언어 유형 구분 :

트랜잭션이 커밋 후,이 작업이 롤백 segement를 데이터베이스 조작 언어 (DML) 넣어 것입니다 문을 삭제에만 적용, 실행이 트리거 될 때, 해당 트리거가있는 경우.

즉각적인 효과와 운영, 데이터베이스 정의 언어 (DDL)를 드롭, 절단, 원래의 데이터를 넣어되지 롤백 세그먼트는 롤백 할 수 없습니다, 운영자는 트리거를 트리거하지 않습니다.

(핵심 SQL은 네 부분이 있습니다 데이터 정의 언어 DDL을, 데이터 조작 언어 DML, 데이터 제어 언어 (DCL), 임베디드 SQL 언어)

 

내용에서 삭제 :

절단 및 테이블 구조 만 삭제하지 않고 데이터를 삭제합니다 (정의)

내용과 정의를 삭제 삭제하고 공간을 확보. 이 테이블의 구조가 함께 삭제 될 수 있습니다 드롭 문을 실행합니다.

 

삭제 和 절단 :

프로세스 삭제 문을 삭제 테이블에서 각 행을 삭제하고, 롤백 작업에 대한 로그에 저장된 삭제 거래 기록, 같은 행에있다.

데이터 테이블 데이터 및 기록 트랜잭션 로그에 출시에만 페이지를 해제하여 데이터 페이지가 저장되어 제거 표를 TRUNCATE 데이터가 롤백 할 수 없습니다.

잘라 내기 문장은, 식별 ID 열을 실행하거나 계속 유지하기 위해 배치 된 후;

DELETE 문이 실행 된 후, ID 식별 C 럼이 불연속

 

 

자세한 내용은 :

새 기본 열 열 이름 유형의 테이블 변경 테이블 이름을 변경 - 테이블 열 이름을 변경

테이블은 테이블 열 이름 유형을 수정, 변경 - 테이블에 클래스 형식 변경

테이블의 열을 삭제 -; 열 이름을 드롭 테이블 테이블 이름을 변경

테이블 열 이름 테이블 유형을 추가 변경 - 열 추가

테이블 테이블 이름이 새 테이블 이름을 이름을 변경하는 행위 - 테이블 이름을 수정
---------------------

추천

출처www.cnblogs.com/klb561/p/10963473.html