Ít nhất với InnoDB (và tôi hy vọng họ có bạn về điều này), bạn có nhiều thao tác hơn ngay cả khi không có khóa ngoại . Một phụ trang gần như thế này:
- Chèn hàng
- Đánh dấu trong bộ đệm nhật ký nhị phân
- Đánh dấu cam kết
Việc xóa thực hiện như sau:
- Đánh dấu hàng đã bị xóa (lấy cùng một lần truy cập như một lần chèn - trang được viết lại)
- Đánh dấu trong bộ đệm nhật ký nhị phân
- Đánh dấu là đã cam kết
- Trên thực tế, hãy xóa hàng, (lấy cùng một lần truy cập như một lần chèn - trang được viết lại)
- Xóa chuỗi theo dõi cũng như xóa trong bộ đệm nhật ký nhị phân.
Vì vậy, bạn có hai lần phải xóa thay vì chèn. Việc xóa yêu cầu hai lần ghi đó vì nó phải được đánh dấu là đã xóa đối với tất cả các phiên bản về sau, nhưng chỉ có thể bị xóa khi không còn giao dịch nào nhìn thấy nó. Vì InnoDB chỉ ghi các khối đầy đủ vào đĩa, hình phạt sửa đổi cho một khối là không đổi.