ホームページ > データベース > mysql チュートリアル > MySQL の「行サイズが大きすぎます」エラーを修正する方法?

MySQL の「行サイズが大きすぎます」エラーを修正する方法?

Barbara Streisand
リリース: 2024-12-10 09:17:10
オリジナル
779 人が閲覧しました

How to Fix MySQL's

MySQL の行サイズ制限を変更する方法

「行サイズが大きすぎます (> 8126)」というエラーが発生した場合、これは、MySQL で許容される最大行サイズを示しています。 MySQL を超えました。この問題を解決するには、テーブル設計に関する特定の考慮事項とデータベース構成の調整を実装できます。

推奨事項

Stack Exchange で提案されている解決策には、my.cnf ファイルの設定を変更することが含まれます。

  1. Barracuda ファイル形式を有効にする: Barracuda ファイルを使用するように InnoDB を構成するinnodb_file_format=Barracuda を設定してフォーマットします。これにより、BLOB データの一部をインラインで格納する必要がなくなり、行サイズが削減されます。
  2. ROW_FORMAT=COMPRESSED を使用します: テーブルの行形式を ROW_FORMAT=COMPRESSED に変更します。この形式は、圧縮を適用することで BLOB データのサイズを削減します。

コマンド例:

ALTER TABLE table_name
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
ログイン後にコピー
  1. MyISAM へのフォールバック:上記の対策で問題が解決しない場合は、内部データの一時ストレージ エンジンとして MyISAM を使用することを検討してください。次の行を my.cnf ファイルに追加します:

    internal_tmp_disk_storage_engine=MyISAM
    ログイン後にコピー

考慮事項

  1. テーブル スキーマの確認: テーブルの列を確認します。とそのデータ型。過剰なデータを含む列を TEXT または BLOB に変更することを検討してください。
  2. 動的または圧縮された行形式を使用する: テーブルの ROW_FORMAT=DYNAMIC または ROW_FORMAT=COMPRESSED オプションは、データのスペース使用率の最適化に役立ちます。 - 重い行。
  3. 検討してくださいシャーディング: テーブルに大量のデータが含まれている場合は、複数のデータベースまたはテーブル間でデータをシャーディングすることを検討してください。これにより、各テーブルの行サイズが減少します。

以上がMySQL の「行サイズが大きすぎます」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート