Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?

Bagaimanakah Saya Boleh Membetulkan Ralat 'Saiz baris terlalu besar' MySQL?

Susan Sarandon
Lepaskan: 2024-12-08 17:46:11
asal
582 orang telah melayarinya

How Can I Fix MySQL's

Melaraskan Had Saiz Baris MySQL untuk Data Bersaiz Besar

Mesej ralat "Saiz baris terlalu besar (> 8126)" menunjukkan bahawa satu baris dalam jadual MySQL melebihi had lalai 8KB. Beberapa faktor menyumbang kepada isu ini, termasuk jenis data yang digunakan dalam lajur jadual.

Satu penyelesaian yang berpotensi ialah menukar beberapa lajur kepada jenis data TEXT atau BLOB, kerana ini boleh menampung jumlah data yang lebih besar. Selain itu, menggunakan ROW_FORMAT=DYNAMIC atau ROW_FORMAT=COMPRESSED juga boleh membantu mengurangkan saiz baris dengan menyimpan data dengan cara yang lebih cekap.

Walau bagaimanapun, mesej ralat yang diberikan menunjukkan bahawa walaupun dengan pengubahsuaian ini, saiz baris mungkin masih menjadi terlalu besar. Ini kerana enjin storan InnoDB menyimpan 768 bait pertama data BLOB sebaris dalam baris, seterusnya mengehadkan saiz baris.

Untuk menangani isu ini, pertimbangkan untuk melaksanakan penyelesaian berikut:

  1. Tukar kepada Fail Barracuda Format:

    • Tambah yang berikut pada fail my.cnf:

      • innodb_file_per_table=1
        Salin selepas log masuk
    - This file format removes the issue of storing BLOB data inline, allowing larger rows to be accommodated.
    Salin selepas log masuk
  2. Gunakan ROW_FORMAT=COMPRESSED:

    • Laksanakan pertanyaan berikut untuk mengubah struktur jadual:

      • ALTER TABLE table_name
        ENGINE=InnoDB
        ROW_FORMAT=COMPRESSED
        Salin selepas log masuk
    - This setting reduces the row size by compressing non-key columns, potentially resolving the issue.
    Salin selepas log masuk

Jika penyelesaian di atas masih gagal menyelesaikan isu, pertimbangkan untuk beralih sementara kepada enjin MyISAM untuk menyimpan data sementara dengan menambah baris berikut pada fail my.cnf:

internal_tmp_disk_storage_engine=MyISAM
Salin selepas log masuk

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan