Jurang Naik Automatik dalam Kunci Utama
Apabila menggunakan kunci utama kenaikkan automatik pada jadual yang direka untuk penyimpanan data yang besar, ia adalah penting untuk menyedari bahawa jurang dalam urutan berangka mungkin berlaku. Ini bukan ralat tetapi sebaliknya merupakan pilihan reka bentuk yang disengajakan atas sebab berikut:
Transaksi bertindih boleh mengakibatkan beberapa sisipan diberikan ID manakala yang lain gagal dan berguling semula, meninggalkan jurang yang tidak digunakan dalam urutan.
Sebagai contoh, jika dua transaksi serentak cuba memasukkan rekod dan memperoleh ID autokenaikan berturut-turut (mis., 42 dan 43), dan salah satu urus niaga kemudiannya gagal, ID yang tidak digunakan (42) akan mewujudkan jurang dalam jujukan.
Memastikan nilai berturut-turut untuk semua sisipan memerlukan penguatkuasaan pelaksanaan transaksi berjujukan, yang tidak praktikal untuk sistem berskala.
Untuk mengelakkan memasukkan entri pendua dalam lajur unik, anda menggunakan INSERT IGNORE. Walau bagaimanapun, amalan ini tidak menjejaskan gelagat kunci utama autokenaikan.
Oleh itu, adalah penting untuk memahami bahawa jurang dalam ID autokenaikan tidak dapat dielakkan dan tidak menunjukkan sebarang ralat atau kerosakan data.
Atas ialah kandungan terperinci Mengapa Kunci Utama Auto-Tambahan Mempunyai Jurang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!