Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

so sánh giữa cắt ngắn và xóa trong mysql / sqlserver

XÓA

  1. DELETE là một Lệnh DML.
  2. Câu lệnh DELETE được thực hiện bằng cách sử dụng khóa hàng, mỗi hàng trong bảng sẽ bị khóa để xóa.
  3. Chúng tôi có thể chỉ định các bộ lọc trong mệnh đề where
  4. Nó sẽ xóa dữ liệu được chỉ định nếu điều kiện tồn tại.
  5. Xóa sẽ kích hoạt một trình kích hoạt bởi vì thao tác này được ghi lại riêng lẻ.
  6. Chậm hơn so với cắt ngắn vì nó lưu giữ nhật ký.
  7. Có thể khôi phục.

TRUNCATE

  1. TRUNCATE là một lệnh DDL.
  2. BẢNG TRUNCATE luôn khóa bảng và trang nhưng không khóa từng hàng.
  3. Không thể sử dụng Điều kiện ở đâu.
  4. Nó xóa tất cả dữ liệu.
  5. BẢNG TRUNCATE không thể kích hoạt trình kích hoạt vì thao tác này không ghi nhật ký các lần xóa hàng riêng lẻ.
  6. Hiệu suất nhanh hơn một cách khôn ngoan vì nó không lưu giữ bất kỳ nhật ký nào.
  7. Có thể khôi phục.


  • DELETE và TRUNCATE đều có thể được khôi phục khi được sử dụng vớiTRANSACTION (TRUNCATE có thể được khôi phục trong SQL Server, nhưng không được khôi phục trong MySQL).
  • nếu có một PK với tăng tự động, cắt ngắn sẽ đặt lại bộ đếm

http://beginner-sql-tutorial.com/sql-delete-statement .htm



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ngăn mysqldump chia kết xuất thành từng phần 1MB?

  2. Nhóm MySQL Theo với số N hàng đầu của mỗi loại

  3. nhận ba bản ghi theo thứ tự giảm dần của mỗi danh mục bằng cách sử dụng codeigniter

  4. Không thay thế thành có một mệnh đề where?

  5. CHÈN và CẬP NHẬT trong một truy vấn MYSQL