Вообще, если сразу думать о хорошей архитектуре, то это не одна таблица должна быть.
Таблица1: ид, логин, пароль
Таблица2: данные о пользователе
Значение поля инвайт я не понял, но если имеется в виду «реферральная программа», или ее подобие — тоже отдельная таблица с данными «ид пользователя», «реферрер»
и вместо user_reg_flag сделать таблицу ролей пользователя в системе (у вас же еще, скорее всего, администратор будет?) — для начала «login» и «admin» и связать через связывающую таблицу пользователей с ролями, чтобы каждый мог иметь несколько. Тогда при подтверждении регистрации, например, добавляем юзеру роль«login», если хотим забанить (запретить вход) — убираем ее.
Если интересно — могу написать структуру этих таблиц.
ЗЫ: что касается собственно сабжа — не вижу смысла в оптимизации полей без оптимизации структуры БД.