jestem w trakcie projektowania systemu komunikacji między użytkownikami oraz listy znajomych.
W zasadzie wszystko jest zakończone, problem tylko jeden.
Każdy użytkownik ma możliwość usunięcia konta i mam problem z rozwiązaniem problemu zmniejszania ilości znajomych o osobę, która usuwa konto.
W tabeli 'users' (tabela danych użytkownika) jest pole 'u_friends', które zmienia swoją wartość zawsze po dodaniu lub usunięciu nowego znajomego.
Ponad to jest tabela 'friends', która zawiera numery id zapraszającego i osoby zaproszonej.
Oczywiście z usunięciem wszystkich wpisów z tabeli 'friends' nie ma problemu, ale jak mam zmniejszyć ilość znajomych u wszystkich osób, którzy mają użytkownika usuwającego swoje konto w znajomych (pole 'u_friends' w tabeli 'users')?
Przecież nie zrobię 500 razy selecta, który sprawdzi pole 'u_friends' i update jeśli osoba ma 500 znajomych

Oczywiście otwarty jestem na wszelkie alternatywne sugestie co do rozwiązania tego problemu

Swoją drogą, gdybym zrezygnował z pola 'u_friends' w tabeli 'users' i za każdym razem zliczał, np. za pomocą count() ile znajomych posiada użytkownik, to byłoby ciężkie dla typowego serwera ( www.iq.pl - 10 GB ) rozwiązanie?