Sorry but I have no idea about the difference between InnoDB
and MyISAM
from the perspective of the ORM. I would hope that ORMLite is not in any way affected. That the type of table is an internal MySQL designation and may affect performance or query behavior.
Here's a good table of differences between the 2 types that I'll summarize here.
- InnoDB is newer while MyISAM is older.
- InnoDB is more complex while MyISAM is simpler.
- InnoDB is more strict in data integrity while MyISAM is loose.
- InnoDB implements row-level lock for inserting and updating while MyISAM implements table-level lock.
- InnoDB has transactions while MyISAM does not.
- InnoDB has foreign keys and relationship contraints while MyISAM does not.
InnoDB has better crash recovery while MyISAM is poor at recovering data integrity at system crashes.
- MyISAM has full-text search index while InnoDB has not.
The only thing that I see on this list which impacts the query-level is that MyISAM
does not support foreign-keys or constraints but ORMLite (as of 3/2013) does not support them either. MyISAM
does not support transactions but you can make ORMLite calls without them.
Off the top of my head I see nothing on this list that would impact the ORM. That said testing would be a good idea. :-)