Menyelesaikan masalah "Jumlah Bilangan Kunci Melebihi Saiz Jadual Kunci" MySQL
Mesej ralat ini menandakan pelayan MySQL anda telah mencapai had maksimum untuk kunci aktif. Ini sering berlaku apabila berurusan dengan sisipan data yang banyak, terutamanya ke dalam jadual sementara.
Penyelesaian biasa melibatkan peningkatan saiz kumpulan penimbal InnoDB. Kumpulan penimbal ini menyimpan data dan indeks dalam ingatan, mengurangkan I/O cakera dan meningkatkan prestasi. Kolam penimbal yang lebih besar juga boleh memuatkan lebih banyak entri meja kunci.
Untuk melaraskan tetapan ini, cari fail konfigurasi MySQL anda (my.cnf
). Lokasi berbeza mengikut sistem; pada sistem Linux, ia sering ditemui di /etc/my.cnf
. Buka fail ini dan ubah suai (atau tambah) baris berikut:
<code>innodb_buffer_pool_size=64M</code>
Barisan ini menetapkan saiz kolam penimbal kepada 64 megabait. Anda mungkin perlu melaraskan nilai ini ke atas bergantung pada sumber sistem anda dan saiz data anda. Pertimbangkan untuk memulakan dengan nilai yang lebih besar jika anda mencapai had ini secara konsisten.
Selepas membuat perubahan ini, mulakan semula pelayan MySQL anda untuk menggunakan tetapan baharu. Perintah mulakan semula berbeza mengikut sistem pengendalian dan kaedah pemasangan. Contoh biasa termasuk:
<code class="language-bash">service mysqld restart systemctl restart mysqld /etc/init.d/mysqld restart</code>
(Pilih perintah yang sesuai untuk sistem anda.) Setelah dimulakan semula, cuba masukkan data anda sekali lagi. Saiz kolam penimbal yang meningkat harus menyediakan ruang yang mencukupi untuk mengendalikan kunci, menghalang ralat daripada berulang. Jika masalah berterusan, pertimbangkan untuk menyiasat punca berpotensi lain, seperti pertanyaan yang tidak cekap atau isu reka bentuk jadual.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'Jumlah Bilangan Kunci Melebihi Saiz Jadual Kunci' Ralat MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!