Sự khác biệt giữa TRUNCATE và DELETE là gì?
Sự khác biệt giữa TRUNCATE và DELETE là gì?
Sự khác biệt chính giữa TRUNCATE và DELETE trong việc xử lý dữ liệu trên cơ sở dữ liệu là:
DELETE là một lệnh DML (Data Manipulation Language) được sử dụng để xóa một hoặc nhiều hàng (tuples) trong một bảng. DELETE có thể xóa tất cả hàng hoặc xóa hàng theo điều kiện cụ thể sử dụng WHERE clause. DELETE ghi lại mỗi hàng bị xóa trong transaction log, do đó nó chậm hơn so với TRUNCATE và có thể rollback (hoàn tác) nếu lệnh được thực hiện trong một giao dịch[2][6].
TRUNCATE là một lệnh DDL (Data Definition Language) được sử dụng để xóa tất cả hàng trong một bảng một cách nhanh chóng. TRUNCATE không cho phép sử dụng WHERE clause và không thể xóa hàng riêng lẻ. TRUNCATE không ghi vào transaction log, do đó, không thể rollback. Nó nhanh hơn DELETE vì không cần ghi lại từng hàng bị xóa và thường được sử dụng khi muốn xóa sạch dữ liệu của một bảng mà không cần quan tâm đến việc phục hồi lại dữ liệu đó[2][3][6].
Vì vậy, nếu bạn cần...
junior
Chưa có bình luận nào