Самое простое, что можно попробовать, сделайте 2 базы данных и настройте репликацию master->slave, из слейва читать, в мастер писать.
Даже в пределах одного сервера это может дать неплохой прирост (правда в результате нагрузка на сам сервер немного повысится), дальше можно крутить индексы, так же можно делать разные индексы на разных серверах master/slave. Главное постараться разделить физически хранилища для этих баз.
Можно периодически приостанавливать репликацию, увеличивая интервал между актуальными данные в мастере и анализируемыми данными в слейве.
Можно поднять слейв на ненадежном хранилище (tmpfs или включить принудительное кеширование записи, например в опциях монтирования ext3/ext4 — data=writeback), это увеличит скорость копирования данных в слейв.