Câu hỏi phỏng vấn MySQL
Câu hỏi

Sự khác biệt giữa TRUNCATE và DELETE là gì?

Câu trả lời

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

junior

Gợi ý câu hỏi phỏng vấn

middle

Giải thích việc sử dụng bảng FEDERATED trong MySQL

senior

So sánh MySQL và PostgreSQL.

expert

Những điểm khác biệt giữa MongoDB và MySQL là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào