Il partizionamento comunque è solo logico, le tabelle rimarrebbero sempre dello stesso numero, ma gestite nell'intimo di mysql come se fossero divise. (ed in ogni caso non preoccuparti, io sono arrivato a 350 tabelle circa e non avevo problemi)

Per l'altra questione...
Intendo un server esclusivamente dedicato a fare il database. Apache&PHP si troverebbero su un altro server in lan. In questo modo avresti un server dedicato per il DB a cui affidare piena potenza di calcolo (non avrebbe nemmeno apache).

Potresti anche mettere su questo nuovo server un nuovo database con sole le tabelle più pesanti... in modo che l'uso normale e quotidiano è affidato al server solito e principale, mentre l'uso più pesante è affidato a questa nuova macchina: il sovraccarico dell'uno non intacca l'altro.

Con php puoi tranquillamente gestire più connessioni a più database diversi... ed in extremis potresti non fare direttamente le query di inserimento al db pesante (inserimento log per le statistiche presumo), ma cachare le query in un file e spedirle in cron (ogni minuto anche) al DB delle statistiche. In questo modo non occorrerebbe nemmeno aspettare il feedback del database "pesante" e il tuo sistema base diventerebbe completamente indipendente dalle statistiche.