1) Переезжайте на PostgreSql
2) Используйте batch insert, у меня по 100 000 записей пишет и не запиниется
3) Удаляйте B-Tree индекс он при каждой вставке производит переиндексацию всего дерева, в PostgreSql с этим немного лудше там переиндексация выполняется отложенно.
У Mysql тормаза начинаются при 2.000.000 записей в таблице у PostgreSql после 5.000.000.
4) Если перейдете на PostgreSql можно поднять вторую базу в режме master-slave
В master писать, со slave читать. И синхронизировать из в асинхронном режиме. Таким образом slave будет немного отставать от master (примерно на 2 сек в зависимости от нагрузки) но slave будет просто летать.
#PostgreSQLRussia митап в компании Avito.ru
https://www.youtube.com/watch?v=2LDAcGZRAEM