Mengatasi Ralat Penyediaan Semula Penyata Disediakan MySQL
Apabila memindahkan tapak PHP anda ke pelayan pengehosan, anda mungkin menghadapi masalah "Disediakan" yang membingungkan kenyataan perlu disediakan semula" ralat. Ini sering berlaku selepas melaksanakan Prosedur Tersimpan MySQL dalam kod anda.
Punca isu ini mungkin terletak pada pepijat MySQL yang diketahui (#42041). Untuk menanganinya, anda perlu meningkatkan nilai parameter table_definition_cache.
Caching Penyata dalam MySQL
Untuk mengoptimumkan prestasi, MySQL menyimpan maklumat tertentu tentang jadual, termasuk jadual mereka. takrifan. Parameter table_definition_cache mengawal saiz cache ini. Apabila cache terlalu kecil, ia mungkin membawa kepada ralat "Pernyataan yang disediakan perlu disediakan semula", terutamanya apabila jadual kerap diubah.
Meningkatkan Nilai table_definition_cache
Untuk membetulkan ralat, anda perlu meningkatkan nilai table_definition_cache dalam fail konfigurasi MySQL anda (biasanya dinamakan my.cnf). Cari bahagian [mysqld] dan tambah baris berikut:
table_definition_cache=1000
Nilai optimum untuk table_definition_cache bergantung pada corak penggunaan khusus anda. Nilai yang lebih tinggi membolehkan MySQL menyimpan lebih banyak definisi jadual, mengurangkan kemungkinan menyediakan semula pernyataan.
Selepas membuat perubahan ini, mulakan semula pelayan MySQL anda untuk tetapan berkuat kuasa. Ini sepatutnya menghapuskan ralat "Penyata yang disediakan perlu disediakan semula" pada pelayan pengehosan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Pernyataan yang disediakan perlu disediakan semula\' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!