Cara Mengubah Suai Had Saiz Baris MySQL
Apabila menghadapi ralat "Saiz baris terlalu besar (> 8126)", ia menunjukkan bahawa saiz baris maksimum dibenarkan oleh MySQL telah melebihi. Untuk menyelesaikan isu ini, pertimbangan reka bentuk jadual tertentu dan pelarasan konfigurasi pangkalan data boleh dilaksanakan.
Pengesyoran
Penyelesaian yang dicadangkan di Stack Exchange melibatkan pengubahsuaian tetapan dalam fail my.cnf:
-
Dayakan Format Fail Barracuda: Konfigurasikan InnoDB untuk menggunakan Format fail Barracuda dengan menetapkan innodb_file_format=Barracuda. Ini menghapuskan keperluan untuk menyimpan sebahagian daripada data BLOB sebaris, mengurangkan saiz baris.
-
Gunakan ROW_FORMAT=COMPRESSED: Tukar format baris jadual kepada ROW_FORMAT=COMPRESSED. Format ini mengecilkan saiz data BLOB dengan menggunakan pemampatan.
Contoh Perintah:
ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
Salin selepas log masuk
-
Fallback to MyISAM: In sekiranya langkah di atas tidak menyelesaikan isu, pertimbangkan untuk menggunakan MyISAM sebagai enjin storan sementara untuk data dalaman. Tambahkan baris berikut pada fail my.cnf:
internal_tmp_disk_storage_engine=MyISAM
Salin selepas log masuk
Pertimbangan
-
Semak Skema Jadual: Periksa lajur jadual dan jenis data mereka. Pertimbangkan untuk menukar lajur yang mengandungi data berlebihan kepada TEXT atau BLOB.
-
Gunakan Format Baris Dinamik atau Mampat: Pilihan ROW_FORMAT=DYNAMIC atau ROW_FORMAT=COMPRESSED untuk jadual boleh membantu mengoptimumkan penggunaan ruang untuk data -baris berat.
-
Pertimbangkan Perkongsian: Jika jadual mengandungi sejumlah besar data, pertimbangkan untuk memecahkannya merentas berbilang pangkalan data atau jadual. Ini akan mengurangkan saiz baris dalam setiap jadual.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!