タグ

ブックマーク / wp.serpere.info (1)

  • InnoDBの意外な制約: Got error 139 from storage engine | へびにっき

    環境: MySQL 5.0 (マニュアルを見る限りバージョン5.1でも事情は同じ) 某CMSにて、1つのテーブルにTEXT型のフィールドをたくさん作ったところ、次のようなエラーが出てデータを保存できなくなった。 Got error 139 from storage engine このエラーメッセージで検索すればいろいろと情報が出てくるが、こういうことらしい: InnoDBの行サイズの上限はページサイズの約半分で、デフォルトでは約8000バイト 可変長カラム(VARBINARY, VARCHAR, BLOB, TEXT)のデータは行の外部に保存されるが、先頭の768バイトだけは行の内部に保存される よって例えば一つのテーブルに11個のTEXT型フィールドを作り、それぞれに768バイト以上のデータを入れようとすると、768*11=8448 > 8000 なので保存できない ページサイズは8〜6

    TrinityT
    TrinityT 2010/12/13
    検索機能とかで大きなテーブル作る際に気をつけた方が良さそうだ。
  • 1