タグ

2018年11月22日のブックマーク (2件)

  • 第55回 innodb_file_per_tableオプションについて | gihyo.jp

    innodb_file_per_tableというオプションはご存知でしょうか。このオプションはMySQL4.1.1から導入され、MySQL 5.6.6とそれ以降ではデフォルトでONになっているオプションです。 innodb_file_per_tableを有効にすることで、InnoDBの各テーブルのデータとインデックスを個別のファイル管理にすることができます。もしこのオプションがOFFの場合、InnoDBの各データはibdata1というシステムテーブルスペースにデータが保持されていきます。以前からMySQLを扱っている方は、このibdata1の肥大化に悩まされたことがあるのではないでしょうか? 今回は、デフォルトONになったためにあまり意識しなくなったかもしれないinnodb_file_per_tableについて、できることを説明したいと思います。 innodb_file_per_table

    第55回 innodb_file_per_tableオプションについて | gihyo.jp
    sbusk
    sbusk 2018/11/22
  • InnoDBの8KBの壁にぶち当たったら。 – sawara.me

    InnoDBの行の最大長は約8KBらしい。 意外と少ない。。。 運用中のサービスがこんなエラーを吐いていました。。。 [code gutter=”false”] Got error 139 from storage engine [/code] マジですか。これが噂の「InnoDB 8KBの壁」ですか。。。 設計段階であればテーブル縦分割とかテーブル構造自体を変えちゃえ!ってなるかもしれないですが、運用中のサービスですし、できるだけ全体へのインパクトは少なくしたい(アプリケーションは改修したくない)。って時にテーブルのROW_FORMATを変更して対応しましたよ、って話です。 「ROW_FORMAT=DYNAMIC」または「ROW_FORMAT=COMPRESSED」を使おう! そうです、結論から言ってROW_FORMATを変更することで対応したんです。 ROW_FORMATについてMyS

    InnoDBの8KBの壁にぶち当たったら。 – sawara.me
    sbusk
    sbusk 2018/11/22