はい、MyISAMに切り替えることができます。しかし、それは必ずしも良い考えではありません:
- MyISAMはトランザクションをサポートしていません
- MyISAMテーブルには多くの場合
REPAIRが必要です クラッシュ後
InnoDBテーブルは、1行あたり8KB以上を処理できます。どうやらあなたは十数以上のTEXT/BLOB列を持っていることによって問題に遭遇しましたか?行の主要部分には、最大767バイトの列が格納されます。残りは別のブロックに入れられます。
1つのROW_FORMATだと思います すべての大きな列を別のブロックに配置し、それを指すために20バイトだけを残します。
幅の広い行への別のアプローチは、「垂直分割」を行うことです。つまり、一致するPRIMARY KEYを使用して別のテーブルを作成します そしていくつかの大きな柱。人口がまばらな列をそのようなテーブルに移動してから、そのテーブルの行数を減らし、LEFT JOINを使用すると特に便利です。 データをフェッチします。また、SELECTを行う必要がほとんどない列がある場合も 、それらは移動するのに適した候補です-JOINはありません これらの列が必要ない場合に必要です。