我正在考虑将MyISAM中的一些表转换到mysql服务器中的InnoDB。 这些表格肯定会受益于更改,因为有很多写入请求到达这些表中,同时也有相当多的读取请求。
然而,他们经常与一些表几乎没有得到任何写入。 将MyISAM和InnoDB表连接在一起时会有性能损失,还是应该正常工作?
第二个问题:在晚上备份的过程中,我将InnoDB表中的数据复制到MyISAM表中,以便存档。 在这些备份中,会发生很多写入请求,但几乎没有从这些存档表中读取数据。 这些表也会受益于使用InnoDB还是这只是浪费空间和内存?
将表从MyISAM转换到InnoDB将真正有利于并发写入和primefaceslocking。
InnoDB和MyISAM表的混合在任何情况下都不会影响连接性能,除非这些连接试图locking完整的MyISAM表(非常不可能),执行EXPLAIN总是会帮助诊断查询。
关于第二个问题,由于它们是备份表,几乎从来没有使用过,所以这些将会充分利用MyISAM作为写性能的可能性。
记住这些参数InnoDB :在并发写入,粒度locking方面很棒,但在串行写入方面不太好,而且使用更多内存MyISAM :非常轻便,在串行写入时非常棒,并不擅长并发写入,内存占用更小