Topic: What's your Storage Engine? InnoDB vs. MyISAM

What storage engine are you using in your Rails app? InnoDB or MyISAM?

We have transaction support with InnoDB, but MyISAM is often referred to as faster.

What are you using? What kinds of apps are you running off them?

Last edited by Ignition (2007-07-05 20:18:16)

Re: What's your Storage Engine? InnoDB vs. MyISAM

Here are some benchmarking results (from 6 months ago) for InnoDB vs MyISAM vs Falcon at the MySQL Performance Blog. Looks like they used their PHP test suite to create the queries. Also sounds like InnoDB is pulling ahead of MyISAM in terms of performance.

So, does anyone have a preferred storage engine for their Rails apps? Does anyone make use of transactions regularly?

Re: What's your Storage Engine? InnoDB vs. MyISAM

Transaction are used by default in your test suite to make the tests considerably faster. With "transactional fixtures" enabled, the original fixture data is restored after each test by rolling back the transaction, which is quick. When it is disabled, the table(s) need to be dropped, re-created and re-filled with the fixture data for every test! At the very least use InnoDB for your test database. And if you're not testing, why not?????

Re: What's your Storage Engine? InnoDB vs. MyISAM

I've been going through various Rails books with testing examples and it seems like the best way to make your app bullet proof right from the start. So yes, testing using the test suite should definitely be a part of every Rails project.