Też miałem podobny problem i zbadałem go empirycznie

Mam tabele: tabuser i tabprofil. W pierwszej trzymam login, hasło, aktywny, data założenia konta itp. Druga tabela jest tabelą zawierającą specyficzne dla danego systemu dane, np imię i nazwisko, adres, zawód, wykształcenie, pola konfiguracyjne (coś zezwala) itd. Na podstawie tych dwóch tabel mam stworzony widok. Oczywistym jest, że na odpowiednich kolumnach pozakładane mam indeksy.
Wady:
- wolniejsze niż jedna tabela (ale nieznacznie, używając cache-owania nie ma różnicy)
- brak możliwości bezpośredniej edycji danych w widoku (trzeba modyfikować osobno tabuser i tabprofile)
Zalety:
- podczas synchronizacji bazy użytkowników nie muszę się martwić o pola których nie ma / które są w różnych bazach
- przenoszenie kont między systemami (np terminarz, sklep, poczta, itd) sprowadza się do przeniesienia danych z jednej tabeli oraz wszystkiego tego co można z drugiej. Jeśli czegoś brakuje, to zanim przeniesiony użytkownik będzie mógł korzystać z nowego serwisu, musi uzupełnić dane.