Есть главный домен example.com, он служит для регистрации, логина и восстановления пароля.
Есть несколько субдоменов вида xxx.example.com и yyy.example.com на которых расположены разные сервисы, которые используют свои БД.
Все сайты объеденены общей авторизацией (залогинившись на одном сайте, автоматом логинимся везде).
Другие сайты взаимодействуют с основной БД в 2 случаях:
1) При входе на сайт выбираются данные пользователя для хранения в сессии
2) При каждой загрузке страницы обновляется параметр last_activity у пользователя, чтобы контролировать онлайн
3) При редактировании личной информации на любом сайте, обновляются данные пользователя основной БД
Сейчас таблица пользователей состоит из ~40 полей.
Я задумался в разделении этой таблицы на отдельные таблицы пользователей для каждой БД.
Чтобы все сервисы взаимодействовали с основной таблицей пользователей только для самый важных данных (логин, имя, пароль, емейл, время последней активности).
Как я вижу новую таблицу пользователя: человек заходит например в блоги, потом срабатывает SELECT выборка, если пользователь не найден в этой таблице, то заводится новая строка пользователя.
Вопрос: как лучше организовать новую таблицу пользователей для конкретного сервиса, чтобы избежать постоянных проверок на наличие пользователя в базе.