Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'Saiz baris terlalu besar' MySQL?

Bagaimana untuk Menyelesaikan Ralat 'Saiz baris terlalu besar' MySQL?

Barbara Streisand
Barbara Streisandasal
2024-12-13 00:48:09994semak imbas

How to Solve MySQL's

Mengatasi Had Saiz Baris dalam MySQL dengan Ralat "Saiz baris terlalu besar"

Ralat "Saiz baris terlalu besar" dalam MySQL timbul apabila baris jadual pangkalan data melebihi had yang dibenarkan. Untuk menyelesaikan isu ini, adalah penting untuk memahami faktor asas.

Dalam jadual yang diberikan, ralat MySQL menunjukkan bahawa saiz baris lebih besar daripada 8126 bait, mungkin disebabkan oleh beberapa lajur teks (TEXT atau BLOB) dengan data yang besar. Untuk menangani perkara ini, pertimbangkan untuk menukar lajur tertentu kepada jenis data teks atau gumpalan atau menggunakan teknik pengoptimuman format baris.

Walau bagaimanapun, mesej ralat juga mencadangkan bahawa storan sebaris awalan BLOB mungkin menyumbang kepada masalah. Untuk mengatasinya:

1. Leverage Barracuda File Format:

Format fail dalam InnoDB ini hanya menyimpan penuding 20 bait kepada data teks dan bukannya 768 bait awal, dengan berkesan menghapuskan had saiz baris. Untuk mengaktifkan Barracuda:

  • Tambah innodb_file_per_table=1 dan innodb_file_format = Barracuda ke fail my.cnf.
  • Tukar jadual untuk menggunakan ROW_FORMAT=COMPRESSED, yang boleh mengecilkan saiz baris walaupun selanjutnya.

2. Gunakan Enjin MyISAM (Penyelesaian Sementara):

Malangnya, penyelesaian berasaskan Barracuda mungkin tidak selalu menyelesaikan isu ini disebabkan pepijat enjin InnoDB. Dalam kes sedemikian, anda boleh sandar kepada enjin MyISAM sebagai pilihan storan sementara dengan menambahkan internal_tmp_disk_storage_engine=MyISAM pada fail my.cnf anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Saiz baris terlalu besar' MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn