为什么Memory Engine比InnoDB引擎商店大得多?

时间:2013-09-28 14:38:03

标签: mysql

我在InnoDB引擎中存储了大约100,000行数据的表。我只是将数据复制到内存引擎表,但我发现新的大小比orignal表大得多。为什么呢?

| Rows | Engine | Size |

| 96702 | Memory|741MB|

|96952|InnoDB|28MB|

为什么?

1 个答案:

答案 0 :(得分:0)

内存引擎表使用固定长度的行存储格式。诸如VARCHAR的可变长度类型使用固定长度存储。

注意:将数据从InnoDB引擎加载到内存引擎实际上是一种SQL反模式(因为数据重复)。你真的应该在你的MySQL服务器上配置InnoDB缓冲池。因此,InnoDB将优于具有许多客户端的内存引擎,因为内存引擎基于行锁定

请参阅the documentation on Memory engine's