0

InnoDB エンジンに約 100,000 行のデータを格納したテーブルがあります。データをメモリ エンジン テーブルにコピーしただけですが、新しいテーブルのサイズが元のテーブルよりもかなり大きいことがわかりました。なんで?

| Rows | Engine | Size |

| 96702 | Memory|741MB|

|96952|InnoDB|28MB|

なぜ?

4

1 に答える 1

0

メモリ エンジン テーブルは、固定長の行ストレージ形式を使用します。VARCHAR などの可変長型は、固定長を使用して格納されます。

注: InnoDB エンジンからメモリ エンジンへのデータのロードは、実際には SQL のアンチパターンです (データの重複のため)。MySQL サーバーで InnoDB バッファー プールを構成する必要があります。メモリ エンジンは行ロック ベースであるため、InnoDB は多数のクライアントを含むメモリ エンジンよりも優れたパフォーマンスを発揮します。

メモリ エンジンのドキュメントを参照してください。

于 2013-09-28T14:52:17.263 に答える