Реализация ленты новостей?
Если у вас не очень много пользователей и настроек ленты почти нет, можно хранить все новости без дублирования и делать выборку, как советовали выше. 
Однако, что получится, если есть не только таблица подписчиков, но и таблица с информацией о приватности новостей (кому из подписчиков что показывать), есть таблица с информацией о людях, чьи новости ты не хочешь видеть в своей ленте (однако не удаляешь из друзей, например). Получается, что с каждой такой фичей запрос на вывод новостной ленты будет обрастать JOINами и вложенными запросами, что весьма негативно скажется на производительности работы. В таком случае, лучше пожертвовать памятью сервера и хранить ленту новостей для каждого пользователя отдельно. Тогда вывод ленты может быть простым SELECTом по индексу.

Могу посоветовать статью про ленту обновлений. Возможно, вы будете использовать другую СУБД, однако идеи и мысли могут оказаться полезными.
Имхо, проще всего сделать по первому варианту. Выборкой и сортировкой пусть занимается SQL-сервер, он для этого в частности и предназначен. Реализуется примерно таким простеньким запросом:
SELECT * FROM news WHERE user_id = :current_user_id OR user_id IN (SELECT user_id FROM subscribes WHERE subscriber_id = :current_user_id) ORDER BY `date`