Hi, My osC DB storage engine is currently MyISAM and I read a lot of good things about the innoDB storage engine, which seems to be quite better than the MyISAM engine. I got innoDB available on my host. The questions are - which one is better for osC? Are there any disadvantages to converting my osC tables to innoDB? Will my osC store lose any functionality or is it safe to convert? TIA...
I don't think you're going to gain any functionality that osC can make use of. InnoDB supports foreign keys, which osC doesn't use. I don't know what else is gained with InnoDB, and have no idea if reliability, stability, or performance should be any better than with MyISAM. I would doubt that you'd lose any capabilities (that osC needs), but I can't speak with any authority on that. If I...
Thanks, Phil, this info is taken from Wikipedia: QUOTE 1. InnoDB recovers from a crash or other unexpected shutdown by replaying its logs. MyISAM must fully scan and repair or rebuild any indexes or possibly tables which had been updated but not fully flushed to disk. Since the InnoDB approach is approximately fixed time while the MyISAM time grows with the size of the data files, ...
To clarify my post even more: What I do care about is improving performance and reliability without losing any functionality. Here is another post I read on mysql.com recommending InnoDB for osC: http://forums.mysql.com/read.php?34,56892,58170#ms g-58170 Any more opinions for or against it?
In the referenced post, Michal is wrong when he says InnoDB should be used instead of MyISAM. osCommerce isn't architected to use transaction and constraint (e.g., foreign keys) features found in InnoDB. Looking at the Wiki article, it sounds like you might get some performance improvements with InnoDB. I have no first-hand experience with that engine, so I can't tell you for sure. It ...
QUOTE (MrPhil @ Aug 9 2009, 12:39 AM) In the referenced post, Michal is wrong when he says InnoDB should be used instead of MyISAM. osCommerce isn't architected to use transaction and constraint (e.g., foreign keys) features found in InnoDB. Looking at the Wiki article, it sounds like you might get some performance improvements with InnoDB. I have no first-hand experience with ...
You should use MyISAM for product tables and other places where you need full text search, which InnoDB does not have. If you use InnoDB for the order tables, you should modify the queries to take advantage of transactions (primarily in the checkout_process.php file) and foreign key constraints. Without those modifications, InnoDB won't be more reliable than MyISAM. Note that some ...
In the referenced post, Michal is wrong when he says InnoDB should be used instead of MyISAM. osCommerce isn't architected to use transaction and constraint (e.g., foreign keys) features found in InnoDB. Looking at the Wiki article, it sounds like you might get some performance improvements with InnoDB. I have no first-hand experience with that engine, so I can't tell you for sure. It sounds like the tradeoff for better performance...
You should use MyISAM for product tables and other places where you need full text search, which InnoDB does not have. If you use InnoDB for the order tables, you should modify the queries to take advantage of transactions (primarily in the checkout_process.php file) and foreign key constraints. Without those modifications, InnoDB won't be more reliable than MyISAM. Note that some tables will have trouble with foreign key constraints....
Thread profile page for "MyISAM vs innoDB" on http://www.oscommerce.com.
This report page is a snippet summary view from a single thread "MyISAM vs innoDB", located on the Message Board at http://www.oscommerce.com.
This thread profile page shows the thread statistics for: Total Authors, Total Thread Posts, and Thread Activity