Upravte svůj soubor /etc/mysql/my.cnf a ujistěte se, že jste alokovali dostatek paměti pro vyrovnávací paměť InnoDB. Pokud se jedná o vyhrazený server, pravděpodobně byste mohli využít až 80 % systémové paměti.
# Provide a buffer pool for InnoDB - up to 80% of memory for a dedicated database server
innodb_buffer_pool_size=614M
Primární klíče jsou stromy B, takže vkládání bude vždy trvat O(logN) a jakmile vám dojde mezipaměť, začnou se swapovat jako šílení. Když k tomu dojde, budete pravděpodobně chtít rozdělit data, abyste urychlili vkládání. Viz http://dev.mysql.com/doc/refman/ 5.1/cs/partitioning.html pro více informací o rozdělení.
Hodně štěstí!