Tôi rất vui vì đã tìm thấy chủ đề này. Tôi cũng tự hỏi mọi người nghĩ gì về vấn đề này. Tôi đã thực hiện 'được đánh dấu là đã xóa' trong khoảng 15 năm trên nhiều hệ thống. Bất cứ khi nào người dùng gọi đến để nói điều gì đó vô tình bị xóa, chắc chắn việc đánh dấu là chưa xóa sẽ dễ dàng hơn rất nhiều so với việc tạo lại hoặc khôi phục từ bản sao lưu.
Chúng tôi đang sử dụng postgresql và Ruby on rails, có vẻ như chúng tôi có thể thực hiện việc này bằng một trong hai cách, sửa đổi đường ray hoặc thêm trình kích hoạt ondelete và thay vào đó là hàm pl / pgsql để đánh dấu là đã xóa. Tôi đang nghiêng về cái sau.
Đối với số lần truy cập hiệu suất, sẽ rất thú vị khi xem kết quả GIẢI THÍCH-PHÂN TÍCH trên các bảng lớn cho một vài mục đã xóa cũng như nhiều mục đã xóa.
Trong các hệ thống được sử dụng theo thời gian mà tôi nhận thấy, người dùng mới có xu hướng làm những việc ngớ ngẩn như vô tình xóa mọi thứ. Vì vậy, khi mọi người mới ở một vị trí, họ có tất cả các quyền truy cập của người trước đó ở vị trí đó ngoại trừ kinh nghiệm bằng không. Việc vô tình xóa nội dung nào đó và có thể nhanh chóng khôi phục giúp mọi người nhanh chóng trở lại làm việc.
Nhưng như ai đó đã nói, đôi khi bạn có thể cần lại khóa cụ thể đó vì lý do nào đó, tại thời điểm đó, bạn cần thực sự xóa nó, sau đó tạo lại bản ghi (khi khôi phục và sửa đổi bản ghi).