Soft delete thường dùng deleted_at. Nó làm query nào cũng cần filter deleted_at IS NULL, ảnh hưởng index và unique constraints.
Ví dụ unique email chỉ active users:
sql
CREATE UNIQUE INDEX idx_users_email_not_deleted
ON users (email)
WHERE deleted_at IS NULL;Cần cân nhắc retention, GDPR/hard delete, bloat, query mặc định và nguy cơ quên filter deleted rows.