Live data from Hacker News

The MySQL MyISAM and InnoDB engines and a grocery checkout

blog.scoutapp.com

1–10 of 21 posts

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#2
The analogy is helpful, but leaves some things out. In one of the grocery stores, you'll find that if the lights flicker off and for just a second, half the products on the shelves may end up unusable. And if your store gets past a certain size, a sinkhole may appear and suck most of your inventory underground with no warning.

The only reason I can think of for using MyISAM tables in a web app is the terrible default InnoDB settings in MySQL. Users unfamiliar with InnoDB may not realize that the awful performance is an artifact of bad configuration, and easily fixed.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#4
post #3

I'm still not sure why folks still use MyISAM. I'm sure there may be some edge case where it makes more sense, but in generally InnoDB seems like a better choice (not just regarding row level locking). Or postgres:)

I've yet to find a good comparison of the two.

In fact, from what I've seen it seems better to use MyISAM when you don't need support for ACID transactions.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#5

The analogy is helpful, but leaves some things out. In one of the grocery stores, you'll find that if the lights flicker off and for just a second, half the products on the shelves may end up unusable. And if your store gets past a certain size, a sinkhole may appear and suck most of your inventory underground with no warning. The only reason I can think of for using MyISAM tables in a web app is the terrible default…

Even after you've spent days tweaking the performance, you are still left with a fundamentally slower engine.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#6

The analogy is helpful, but leaves some things out. In one of the grocery stores, you'll find that if the lights flicker off and for just a second, half the products on the shelves may end up unusable. And if your store gets past a certain size, a sinkhole may appear and suck most of your inventory underground with no warning. The only reason I can think of for using MyISAM tables in a web app is the terrible default…

Can you provide some info or a link on this config change.

Thanks!

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#7

The analogy is helpful, but leaves some things out. In one of the grocery stores, you'll find that if the lights flicker off and for just a second, half the products on the shelves may end up unusable. And if your store gets past a certain size, a sinkhole may appear and suck most of your inventory underground with no warning. The only reason I can think of for using MyISAM tables in a web app is the terrible default…

Can you provide some info or a link on this config change. Thanks!

This is handy: http://www.mysqlperformanceblog.com/2007/11/01/innodb-perfor...

Lots of good InnoDB-related posts on their site.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#8
post #4
post #3

I'm still not sure why folks still use MyISAM. I'm sure there may be some edge case where it makes more sense, but in generally InnoDB seems like a better choice (not just regarding row level locking). Or postgres:)

I've yet to find a good comparison of the two. In fact, from what I've seen it seems better to use MyISAM when you don't need support for ACID transactions.

I don't agree. MyISAM tables are easy to trash, and the table locking on update can bite you. There's no real disadvantage to using InnoDB other than having to learn to tune it a litte bit, and your data will be much safer.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#9
post #4

Earlier quoted context omitted.

I've yet to find a good comparison of the two. In fact, from what I've seen it seems better to use MyISAM when you don't need support for ACID transactions.

I don't agree. MyISAM tables are easy to trash, and the table locking on update can bite you. There's no real disadvantage to using InnoDB other than having to learn to tune it a litte bit, and your data will be much safer.

Define 'easy to trash'. I've been using MyISAM without problems for years now.

Re: The MySQL MyISAM and InnoDB engines and a grocery checkout

#10

Earlier quoted context omitted.

I don't agree. MyISAM tables are easy to trash, and the table locking on update can bite you. There's no real disadvantage to using InnoDB other than having to learn to tune it a litte bit, and your data will be much safer.

Define 'easy to trash'. I've been using MyISAM without problems for years now.

I'm curious about this too -- I've used MyISAM for many projects without a problem.
Post reply on HN