我在InnoDB引擎中存储了大约100,000行数据的表。我只是将数据复制到内存引擎表,但我发现新的大小比orignal表大得多。为什么呢?
| Rows | Engine | Size |
| 96702 | Memory|741MB|
|96952|InnoDB|28MB|
为什么?
答案 0 :(得分:0)
内存引擎表使用固定长度的行存储格式。诸如VARCHAR的可变长度类型使用固定长度存储。
注意:将数据从InnoDB引擎加载到内存引擎实际上是一种SQL反模式(因为数据重复)。你真的应该在你的MySQL服务器上配置InnoDB缓冲池。因此,InnoDB将优于具有许多客户端的内存引擎,因为内存引擎基于行锁定