Как базы реагируют на увеличение колличиства записей?
Если это чат, то непонятно зачем держать архив в одной таблице. Раз в день прибирайтесь. Или в мусорку, или в бекап.
Я бы "хвост" чата (потока сообщений) публичных комнат держал в памяти сокет-сервера.
А сохранял в базе - только нужное через парсинг.
Для диалогов - использовал бы базу с процедурной выборкой.
Раз в сутки - бэкап таблицы.