0

Which storage engine should I use for a discussion board (web application) if I want to stay with MySQL? InnoDB or rather MyISAM?

Nanne
  • 64,065
  • 16
  • 119
  • 163

2 Answers2

2

Nowadays I would always go with InnoDB since it has foreign keys, transactions, clustered indices etc.

You might also want to look at the more detailed answers in this (similar) question: myisam-versus-innodb

Community
  • 1
  • 1
PatrikAkerstrand
  • 45,315
  • 11
  • 79
  • 94
  • Nowadays meaning what? That InnoDB comes preconfigured as the default? What changed from the olden days? What's the argument behind your answer? MyISAM has it's qualities too, it's good for fast reads of bulky data (varchar/texts) – Mihai Stancu Oct 24 '12 at 11:56
  • I mean that the read performance of InnoDB is much better now than it used to and that the features listed above far outweights any difference in read performance – PatrikAkerstrand Oct 24 '12 at 11:58
  • It's true that MySQL 5.6 now allows full text search in InnoDB (not that native full text search wasn't pretty bad anyway compared with search engine daemons). – Mihai Stancu Oct 24 '12 at 12:00
0

Discussion boards are:

  • read intensive - 1 point for MyISAM.
  • structured with big text fields (varchars/texts) - 2 points for MyISAM.
  • not update intensive - 3 points for MyISAM.
  • inserts prone - 4 points for MyISAM.
  • need some foreign key support - 1 point for InnoDB (but this can be handled at the application level).
  • prone to full text searches - 1 point to MyISAM and if your MySQL is over 5.6 then 0 points to MyISAM because InnoDB supports full text search starting from MySQL 5.6.

I love having foreign key support. I'd built it on InnoDB just because of that. But performance wise you may test both cases and notice that MyISAM works faster in all the respects presented above.

Mihai Stancu
  • 15,848
  • 2
  • 33
  • 51