所以我正在开发这个跟踪应用程序atm,它将在2个网络服务器上运行,其目的是跟踪访问者的行为。
数据将收集在作为主服务器的服务器A上,我们决定使用MYSQL Blackhole引擎,因为它实际上并不执行插入,只是将它们写入日志文件,然后复制一个表数据实时到服务器B,即服务器。
在服务器B上,我们将拥有应用程序的报告部分,用于生成统计报告,因此将有99%以上的读取操作来创建统计报告,并且只是现在然后插入/更新或删除例如,当用户创建新广告系列,或删除一个广告系列或更新其用户名/密码等时。
现在出现的问题是我们应该将哪个MYSQL引擎用于报告部分,但是我们不确定哪个引擎支持最快的读取,MYISAM或INNODB?
任何帮助将不胜感激:)
PS:我忘了提到服务器B上的报告数据库会收集很多数据,所以我们每年必须处理100万行数据,而且仍然需要能够从这些数据中快速创建统计报告。答案 0 :(得分:2)
根据您对大部分读物的要求,我会说MYISAM。大大简化,使用MYISAM进行大量读取,使用INNODB进行大量写入。
Developer99有written a little chart来帮助您选择:
My ISAM InnoDB
Required full text Search Yes
Require Transactions Yes
frequent select queries Yes
frequent insert,update,delete Yes
Row Locking (multi processing on single table) Yes
Relational base design Yes
答案 1 :(得分:0)
根据您的表格关系。 MyISAM在历史上被视为比InnoDB更快,但对于InnoDB的最新版本,对于更小,更小的用例集来说也是如此。对于只读表的表扫描,MyISAM通常更快。