ник: grafin
Из личного опыта. Рано или поздно пости во всех таблицах, в которых казалось, что ключ по счетчику не нужен, пришлось его добавлять. В простых справочных таблиц из 2х полей потом понадобились ещё поля, и ещё... А при изменениии ключей и связей потом менять кучу запросов-очень времязатратная процедура. По поводу тормоза индексах.Большое количество записей со временем становятся малоиспользуемыми. Переваливаем их в архивные таблицы, но заменяем некоторые внешние ключи на их значение-это позволит снять связи(обновления не нужны), зафиксировать эти поля по их состоянию на момент архивации(не будет каскадных обновлений) и убрать индексацию. Или даже вынести архивы в другую базу и просматривать их в простой форме без тормозных наворотов всяких проверок.
Обновление счетчика сжатием базы не удобная вещь для многоползовательской базы.
Лучше сделать один раз модуль пересоздания таблицы(или копирования по образцу), а не выбрасывать пользователей из базы.