 <p>Check to see how fragmented your indexes are. At my company we have a nightly import process that trashes our indexes and over time it can have a profound impact on data access speeds. For example we had a SQL procedure that took 2 hours to run one day after de-fragmenting the indexes it took 3 minutes. we use SQL Server 2005 ill look for a script that can check this on MySQL. </p> <p>Update: Check out this link: <a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-file-defragmenting.html" rel="nofollow noreferrer">http://dev.mysql.com/doc/refman/5.0/en/innodb-file-defragmenting.html</a></p>