Так на вскидку.
таблица: id flag message.
Есть 3 пользователя Вася Петя Саша.
Вася читает посты Пети. Но не читает посты Саши.
Вася в сети.(flag в Бд что он тут).
Заходит Петя и пишет пост.
Пост сохранился, после сохранения
Проверяем всех активных пользователей, которые читают посты Пети(в данном случае Вася) и если Вася активен ставим ему в поле message 1. И через какое-то время посылается запрос, и проверяется поле message. Если там 1 то update message=0 и выдергиваем сообщение.
В худшем варианте будет 3 запроса(если есть новое сообщение) но это не страшно, там сами запросы легкие. все по индексам.
P.S Если в поле message писать id нового поста. то вообще все запросы будут простыми.(если интервал большой, то можно записывать в виде id1,id2)
UPDATE будет что-то типа message=CONCAT(message,id2)
P.S.S То что вы хотите сделать называется COMET вот почитайте http://javascript[dot]ru/ajax/comet
|