MyBB Community Forums

Full Version: InnoDB slower than MyISAM?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I recently converted from MyISAM to InnoDB in the hope of increasing performance.

However after I converted all my tables to InnoDB engine the amount of time taken to produce a page went from around 30ms to 100ms.

I instantly converted back to MyISAM and im back at 30ms to produce a page...

Any reason for what the issue could be?



Solved! - Issue was related to the InnoDB Memory Allowance, after a quick configuration edit and recompiling apache it's lightning fast again producing pages at around 20-30ms.
(2015-01-06, 01:59 PM)dragonexpert Wrote: [ -> ]This script will convert all your tables to the much better Innodb storage engine than MyISAM.  This is very helpful for larger forums with many users online.  If you do not have MySQL version 5.6 or higher you have three choices to make: 
1) Upgrade to MySQL 5.6 or higher ( you may need to contact your host for this. )
2) Keep Full Text Index searches and let the mybb_posts and mybb_threads tables stay as MyISAM
3) Drop the index on message for the mybb_posts table and the index subject on the mybb_threads table.

<?php

define("IN_MYBB", 1);
define("NO_ONLINE", 1);
define("NO_PLUGINS", 1);
require_once "global.php";
if(!$mybb->usergroup['cancp'])
{
error_no_permission();
}
$tablelist = $db->list_tables($config['database']['database'], TABLE_PREFIX);
foreach($tablelist as $table)
{
$db->write_query("ALTER TABLE "  . $table . " ENGINE=Innodb");
echo "Converted table $table to Innodb.<br />";
}
echo "Table conversion complete.<br />";
?>

Once the file is executed, you should delete it off your server.

Did you try that?
Yes, I followed that exact tutorial.

Solved.
Ok. Smile
So what was the issue and how you solved it?
The issue was InnoDB was functioning slower on my server, than MyISAM was.
It was solved by allotting more memory to InnoDB because I hadn't allocated a sufficient amount.
Thank you.