Ini adalah contoh penguncian kenaikan otomatis di InnoDB:Saat Anda menjalankan 2 pernyataan secara bersamaan di sesi yang sama:kunci inc otomatis diperoleh dengan kueri pertama, dan pembuatan nilai kenaikan otomatis tidak disisipkan di antara pernyataan - itulah intinya transaksi.
Ini akan selalu terjadi secara terencana:Jika tidak, cara kerja transaksi di InnoDB, yah, tidak akan berhasil. Skalabilitas di bawah beban jenis OLTP akan mengerikan karena setiap sisipan harus menunggu setiap sisipan lainnya selesai, dikomit, atau lebih buruk lagi - digulung kembali.
Yaitu:Jika penyisipan pertama Anda berjalan 5x lebih lama dari yang kedua, dan gagal dan dibatalkan, yang kedua masih selesai dan telah dilakukan. Jika tidak, Anda harus menunggu ea. kueri untuk diselesaikan setelah yang lain.
Jika Anda memerlukan ID # yang berurutan dan benar-benar unik, tarik dari sumber lain. Kolom AutoInc hanya menjamin nilai unik - tidak harus monosequence - yang merupakan titik serialisasi dan hambatan.
Salah satu cara mengatasinya jika diperlukan:
atur innodb_autoinc_lock_mode = 0
di my.cnf/mysql.ini
Deskripsi penguncian inc otomatis di InnoDB dan Opsi