我有一张桌子,我只是在写作。
将其视为“交易”列表,我保留所有详细信息,并且还有一个“总计”存储在另一个表中。对于性能而言,该总数是多余的,但如果需要,可以从此事务表中重新计算。
从性能的角度来看,有什么更好的事情,请记住,有几个人会同时插入(永不更新)这个从未读过的表?
我应该使用InnoDB还是MyISAM?
(我已经遇到了性能问题,我没有过早优化)
答案 0 :(得分:4)
使用ARCHIVE存储方法。它正是为了这种写多次读取 - 几乎从不应用而制作的。
答案 1 :(得分:2)
通常你会将MyISAM用于只会增长的表格。 MyISAM还具有支持MERGE表的优势,因此您不必只有一个巨大的表。
但是,如果你“永远”不会从中读取,为什么要使用表呢?只需直接写入文件即可。我很好奇你的表现问题是什么。您可以通过复制查看Blackhole表类型。主人身上的黑洞,MyISAM或奴隶上的存档。
答案 2 :(得分:0)
你也可以使用带有INSERT DELAYED的MyISAM来立即从你的插件返回并让mysql在一个单独的线程中空闲时插入该数据。从应用程序的角度来看,它会加速插入,避免插入争用。但是,如果服务器在写入之前崩溃,则会导致数据不一致...