Hãy mô tả sự khác biệt giữa lệnh TRUNCATE và lệnh DELETE trong SQL.
Hãy mô tả sự khác biệt giữa lệnh TRUNCATE và lệnh DELETE trong SQL.
Lệnh TRUNCATE và lệnh DELETE trong SQL đều được sử dụng để xóa dữ liệu từ bảng, tuy nhiên chúng có một số khác biệt quan trọng:
Loại lệnh: TRUNCATE là lệnh DDL (Data Definition Language) còn DELETE là lệnh DML (Data Manipulation Language). [1][2][3]
Điều kiện xóa: TRUNCATE xóa toàn bộ dữ liệu trong bảng mà không cần điều kiện, trong khi DELETE có thể sử dụng mệnh đề WHERE để chỉ định các hàng cần xóa. [1][3][4]
Tốc độ: TRUNCATE thường nhanh hơn DELETE vì nó chỉ cần giải phóng các trang dữ liệu thay vì xóa từng hàng một. [1][3][4]
Ghi nhật ký: DELETE ghi lại từng hàng bị xóa vào nhật ký giao dịch, còn TRUNCATE chỉ ghi lại việc giải phóng các trang dữ liệu. [1][2][3]
Khôi phục dữ liệu: Dữ liệu bị xóa bằng DELETE có thể được khôi phục bằng lệnh ROLLBACK, nhưng dữ liệu bị xóa bằng TRUNCATE khô...
middle
Chưa có bình luận nào