Setidaknya dengan InnoDB (dan saya harap mereka memiliki Anda dalam hal ini), Anda memiliki lebih banyak operasi bahkan tanpa kunci asing . Sisipannya kira-kira seperti ini:
- Sisipkan baris
- Tandai di buffer log biner
- Tandai komit
Penghapusan melakukan hal berikut:
- Tandai baris dihapus (mengambil klik yang sama sebagai penyisipan -- halaman ditulis ulang)
- Tandai di buffer log biner
- Tandai berkomitmen
- Sebenarnya, hapus baris tersebut, (mengambil pukulan yang sama sebagai penyisipan -- halaman ditulis ulang)
- Bersihkan utas melacak penghapusan dalam buffer log biner juga.
Untuk itu, Anda memiliki dua kali pekerjaan untuk menghapus daripada menyisipkan. Penghapusan memerlukan dua penulisan tersebut karena harus ditandai sebagai dihapus untuk semua versi yang akan datang, tetapi hanya dapat dihapus jika tidak ada transaksi yang tersisa yang melihatnya. Karena InnoDB hanya menulis blok penuh, ke disk, penalti modifikasi untuk satu blok adalah konstan.