Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat 'jumlah kunci melebihi saiz meja kunci' di MySQL?
Menyelesaikan masalah "Jumlah Bilangan Kunci Melebihi Saiz Jadual Kunci" dalam MySQL
Ralat ini menandakan bahawa pelayan MySQL anda telah mencapai had kunci maksimumnya, biasanya dicetuskan oleh banyak transaksi serentak yang bersaing untuk mendapatkan kunci di atas meja yang sama. Masalah ini sering diburukkan lagi dengan pertanyaan sisipan berskala besar, terutamanya yang melibatkan jadual sementara dan data yang digabungkan daripada pelbagai sumber.
Penyelesaian:
Walaupun hanya meningkatkan saiz kolam penimbal tidak selalunya merupakan penyelesaian yang terjamin, berikut ialah pendekatan yang berkesan:
Penyelesaian Segera:
Penyelesaian Jangka Panjang:
innodb_buffer_pool_size
: Parameter ini mengawal saiz kumpulan penimbal, yang menyimpan cache data yang kerap diakses. Kumpulan penimbal yang lebih besar meminimumkan I/O cakera, sekali gus mengurangkan perbalahan kunci.Cara Meningkatkan innodb_buffer_pool_size
:
my.cnf
), biasanya ditemui dalam /etc/my.cnf
(Linux).innodb_buffer_pool_size=256MB
untuk peruntukan yang lebih besar): innodb_buffer_pool_size=64MB
Dengan melaksanakan penyelesaian ini, anda boleh menyelesaikan ralat "jumlah kunci melebihi saiz jadual kunci" dengan berkesan dan meningkatkan prestasi pangkalan data MySQL anda di bawah beban berat.
Atas ialah kandungan terperinci Mengapa saya mendapat 'jumlah kunci melebihi saiz meja kunci' di MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!