Nella mia applicazione gli utenti possono iscriversi ad altri utenti, come in ogni social network. Tuttavia sto riscontrando qualche problema quando un utente ha troppi abbonati. Ogni volta che un utente pubblica qualcosa, tutti i suoi abbonati vengono avvisati tramite il sistema di notifica. Quando un utente ha come 2000 abbonati o anche più, questo significa che devo inserire 2000 righe nella tabella notifications
, che può richiedere un secondo o due. Avendo molti utenti che postano cose ho la sensazione che questo tavolo si riempia molto velocemente e non riesco a pensare ad un'altra realizzazione.
Lo schema corrente è
CREATE TABLE IF NOT EXISTS 'notifications' (
'id' int(10) unsigned NOT NULL AUTO_INCREMENT,
'user_id' int(10) unsigned NOT NULL,
'text' text NOT NULL,
'data' text NOT NULL,
'time' datetime NOT NULL,
'seen' enum('0','1') NOT NULL DEFAULT '0',
PRIMARY KEY ('id','user_id')
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Come posso superare questo problema?