Показать сообщение отдельно
Старый 06.01.2011, 20:13
membrilius вне форума Посмотреть профиль Отправить личное сообщение для membrilius Найти все сообщения от membrilius
  № 8  
Ответить с цитированием
membrilius
 
Аватар для membrilius

Регистрация: Aug 2008
Сообщений: 258
Конечно хранить в базе для каждого юзера 1 999 999 потенциальных IDшников и при выборки ещё в них рыться, это жесть.

Можно подумать, над псевдо-"псевдо случайной" выборкой. Выбирайте не просто хаотично разбросанные 100 юзеров по таблице из 2млн полей, а интервал. Допустим:
Код:
WHERE UID > '4000' ORDER BY UID ASC LIMIT 100
Можно дополнять любыми условиями.
Потом смотрите ID последней записи и пишите в базу просмотренный интервал. Более мы его не используем. Минусы только что записи идут по порядку. Если юзер будет удалён из базы, то интервал немного съедет по-этому надо сделать доп. поле delete и выбирать с учетом его. И для интервалов должны быть жесткие условия.

Интервалы можно объединять для экономии места.