I am posting it here because I would really like to read other opinions.
I am creating a module for a framework that anyone could install in its system and behave the similar (almost) way. I am starting with that because it is important that I don't control system settings nor could advise anyone for using the module to alter their my.cnf or my.ini .
Recently I have start suspecting that something is terribly wrong about InnoDB. I made the fallowing test in 3 servers (I don't go further analyzing servers because the results where almost the same and the servers very different, if anyone like I could).
I created two tables with the same structure one in InnoDB “persons1” and one in MyISAM “persons2” . Here is the SHOW CREATE TABLE persons1 (the same is for persons2 in MyISAM
CREATE TABLE persons1
(
id
int(10) NOT NULL AUTO_INCREMENT,
firstName
varchar(255) COLLATE utf8_bin NOT NULL,
lastName
varchar(255) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
And now it is time to write some data to it , and the socking result was that in every server INSERT in InnoDB was around 1000 times slower than in MyISAM. (I am using prepared statements). That wasn't the case only to the first INSERT but in any that fallowed (a bit less time in both engines).
In fact inserting just one row in InnoDB was around 0.1 seconds !!! ( around 0.0001 for MyISAM). Meaning that if with InndoDB I have 10 very simple inserts in my program than the user should wait a whole second more.
Of course that is not an option , so I am almost decided to abandon InnoDB. I liked many of the features but with that performance it has a serious issue. Am I missing something here ?