For quite some time I’ve used only myisam as storage engine for my mysql tables. During my early years as a developer I though that “myisam is the simplest storage engine, therefore it is also the fastest”. After reading several advanced books about mysql and general database theory I now realize that this isn’t always the truth. Thus I’m now trying to master the features innodb storage engine.
Today I realized that innodb does not used “fixed”/“variable” format-type as I’m used to with MyIsam. Starting with 5.0.3 it uses the “compact” row format as default. This format uses variable row length (right??) as “variable” row format I know from myisam. As far as I have understood, variable row length means less disk space and slower seeks. Therefore myisam uses only “variable” row format when it is “forced to” (if there are any varchat, text columns).
My question is therefore: how come innodb uses a variable row format as default? Isn’t that slower than allocating x bytes for each row so the disk seeks will be faster?
Please enlighten me, I’m a bit confused )
(I hope my English is okay, if not - just ask what I mean, please)