我有一个表,在InnoDB引擎中存储了大约100,000行数据。我只是将数据复制到内存引擎表中,但我发现新的引擎表的大小比原始表要大得多。为什么?
| Rows | Engine | Size |
| 96702 | Memory|741MB|
|96952|InnoDB|28MB|为什么?
发布于 2013-09-28 22:52:17
内存引擎表使用固定长度的行存储格式。可变长度类型(如VARCHAR )使用固定长度进行存储。
SQL:将数据从InnoDB引擎加载到内存引擎实际上是一种反模式(因为存在数据重复)。您确实应该在MySQL服务器上配置InnoDB缓冲池。由于内存引擎是基于行锁的,因此InnoDB在许多客户端上的性能将优于内存引擎
参见the documentation on Memory engine's。
https://stackoverflow.com/questions/19068079
复制相似问题