首頁 > 資料庫 > mysql教程 > 如何修復 MySQL 的「行大小太大」錯誤?

如何修復 MySQL 的「行大小太大」錯誤?

Barbara Streisand
發布: 2024-12-10 09:17:10
原創
809 人瀏覽過

How to Fix MySQL's

如何修改MySQL行大小限制

當遇到錯誤「Row size Too Large (> 8126)」時,表示允許的最大行大小MyMySQL已經被超越了。若要解決此問題,可以實施某些表格設計注意事項和資料庫配置調整。

建議

Stack Exchange 上提出的建議解決方案涉及修改my.cnf 檔案中的設定:

  1. 啟用Barracuda檔案格式:
  2. 啟用Barracuda檔案格式:透過設定配置InnoDB使用Barracuda檔案格式innodb_file_format=梭子魚。這樣就無需內聯儲存一部分 BLOB 數據,從而減少了行大小。
使用 ROW_FORMAT=COMPRESSED:

將表格的行格式變更為 ROW_FORMAT=COMPRESSED。此格式透過套用壓縮來減少 BLOB 資料的大小。

ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
登入後複製
    範例指令:
  1. internal_tmp_disk_storage_engine=MyISAM
    登入後複製
    回退到MyISAM:
  2. 在如果上述措施無法解決問題,請考慮使用MyISAM作為內部資料的暫存引擎。將以下行加入my.cnf 檔案:

  1. 注意事項
  2. 查看表架構: 檢查表的列及其資料類型。考慮將包含過多資料的欄位變更為 TEXT 或 BLOB。
  3. 使用動態或壓縮行格式:表的 ROW_FORMAT=DYNAMIC 或 ROW_FORMAT=COMPRESSED 選項可以幫助優化資料的空間利用率- 大量行。
考慮分片:如果表包含大量數據,請考慮將其跨多個資料庫或表分片。這將減少每個表中的行大小。

以上是如何修復 MySQL 的「行大小太大」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板