Задать вопрос
@Alk90
php, mysql, jquery, css, html, api

Как удалять материалы с сайта?

Всем привет!
Допустим есть сайт, на котором пользователь может добавить пост, к этому посту можно добавлять комментарии, комментарии можно лайкать, пользователи получают уведомление о лайке и ответе на их комментарий. Плюс получает рейтинг за комментарии. В общем стандартный пост вконтакте, но лучше взять pikabu для примера.
Предположим к посту добавлено 1500 комментариев (пример пикабу, там есть столько комментов)

Но что делать если пользователь решает удалить пост?
Есть два варианта:
  • 1. Удаляем все лайки к посту и комментариям, удаляем все уведомления связанные с комментами и постом, удаляем все картинки в комментариях и все картинки в посте, удаляем все комментарии, удаляем пост.
  • 2. Отметить пост как удаленный и при любой выборке постов указывать добавлять WHERE `status` <> 'delete'


С первым вариантом проблема в том, что при удалении нужно сделать тысячи запросов, ну если оптимизировать, то меньше, но смысл один - это тяжелая операция...

А вот со вторым еще больше проблем... Если мы не удаляем попутные данные вроде комментариев, то в профиле остаются ссылки на "мои комментарии", где будут и комменты к удаленному посту. Такая же история и с уведомлениями...

Подскажите, как удаляются такие большие массивы данных?
  • Вопрос задан
  • 391 просмотр
Подписаться 3 Простой 2 комментария
Ответ пользователя sim3x К ответам на вопрос (4)
sim3x
@sim3x
Никто не удаляет ничего

Пост помечается не для выдачи и все
Ответ написан
Комментировать