Я делаю сайт с концепцией «следующий». Всякий раз, когда пользователь загружает изображение или видео, я запрашиваю таблицу «Следующий», чтобы получить всех, кто следует за загрузчиком, а затем с помощью цикла добавить их имя в запрос INSERT и затем выполнить его в таблице «уведомлений», например предлагается здесь http://www.w3schools.com/php/php_mysql_insert_multiple.asp.Будет ли вставка нескольких строк в таблицу «Уведомления» замедлить запрос?
Проблема заключается в том, что если у человека есть, скажем, 2000 последователей, это может привести к массивному запросу, а также 2000 записей в таблице «уведомлений». Является ли это оптимальным алгоритмом или есть лучший способ сделать это? Как сделать такие крупные сайты, как Quora?
Более крупные сайты, как правило, используют «очереди сообщений», чтобы обрабатывать их на сервере. что ты уже испробовал? –
@JeremyHarris Все, что я пробовал, это метод, который я объяснил в вопросе. Действительно ли запросы сообщений более эффективны? Не могли бы вы помочь мне, предоставив учебник или что-то еще? Большое спасибо! –
Не «запросы сообщений» .... Очереди сообщений. Думайте о них, как о коробке на вашем сервере или в облаке, где вы можете быстро бросить вещи в режиме реального времени, а затем вернуться и обработать их, чтобы с помощью PHP-скрипта, работающего каждые 10 минут с CRON. https://www.sitepoint.com/message-queues-comparing-beanstalkd-ironmq-amazon-sqs/ –