Trung BìnhPostgreSQL iconPostgreSQL

Soft delete trong PostgreSQL ảnh hưởng index và constraint thế nào?

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.

Xem toàn bộ PostgreSQL cùng filter theo level & chủ đề con.

Mở danh sách PostgreSQL