[TYPO3-dev] TYPO3 4.1 INNODB
Dmitry Dulepov
9f4eetb02 at sneakemail.com
Thu Mar 1 11:01:46 CET 2007
Hi!
Steffen Müller wrote:
> Dmitry, could you please explain why "InnoDB is more stable than MyISAM
> and prevents database corruption at peaks"?
> I did not yet read about that.
Mysql does its best to prevent simultaneous writes to myisam tables. It
relies on locks (normally file locks) when user tries to write to myisam
table. However this does not always work as expected, especially at peak
hours. Sometimes at least two writes still happen and table immediately
becomes corrupted. Search English list archives, you will find several
questions about corrupted tables. I had those too several times, when
mysql has to process over 700qps (as mytop reports). At one point
crashes started to appear every day. I searched inet and found various
posts about it that generally recommended to move to innodb. I did that
more than half a year ago and did not have *any* table corruptions on
those tables even though load increased.
InnoDb uses row transaction internally even if user did not start it
explicitly. While myisam locks the whole table at write, innodb locks
only space for one row. See the advantage? You can have many clients
writing to table at once with InnoDB, who are well separated. But you
cannot have more than one write to myisam table (performance killer!)
and if it happens, your table dies immediately!
InnoDb, of course, has its disadvantages. If "select count(*) from
table" takes very little time/resources on myisam (because count is
stored in table itself), innodb has to really count rows. But this is
not a problem for typo3 because typo3 does not have such queries :)
But there is one more advantage for Innodb. Myisam keeps indexes
separately from row data. Thus if row pointer is found, myisam engine
has to do one more seek to data. Innodb keeps indexes together with
rows, so it does not have to seek again.
In general, I think innodb is much better for typo3 than myisam. I
really did several days of research before switching.
--
Dmitry Dulepov
Web: http://typo3bloke.net/
Skype: callto:liels_bugs
"It is our choices, that show what we truly are,
far more than our abilities." (A.P.W.B.D.)
More information about the TYPO3-dev
mailing list