Mysql / PHP应用程序99%读取1%插入/更新 - 使用什么MYSQL引擎?

时间:2012-10-16 03:00:03

标签: innodb myisam

所以我正在开发这个跟踪应用程序atm,它将在2个网络服务器上运行,其目的是跟踪访问者的行为。

数据将收集在作为主服务器的服务器A上,我们决定使用MYSQL Blackhole引擎,因为它实际上并不执行插入,只是将它们写入日志文件,然后复制一个表数据实时到服务器B,即服务器。

在服务器B上,我们将拥有应用程序的报告部分,用于生成统计报告,因此将有99%以上的读取操作来创建统计报告,并且只是现在然后插入/更新或删除例如,当用户创建新广告系列,或删除一个广告系列或更新其用户名/密码等时。

现在出现的问题是我们应该将哪个MYSQL引擎用于报告部分,但是我们不确定哪个引擎支持最快的读取,MYISAM或INNODB?

任何帮助将不胜感激:)

PS:我忘了提到服务器B上的报告数据库会收集很多数据,所以我们每年必须处理100万行数据,而且仍然需要能够从这些数据中快速创建统计报告。

2 个答案:

答案 0 :(得分:2)

根据您对大部分读物的要求,我会说MYISAM。大大简化,使用MYISAM进行大量读取,使用INNODB进行大量写入。

Developer99written 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通常更快。