Допустим, я писал приложение, в котором мне нужно было бы получать уведомления в режиме реального времени с сервера, и, скажем, эти уведомления хранятся в базе данных mysql.
Чтобы получить их, мне нужно будет продолжать опрашивать сервер MySQL (повторять тот же выбор
запрос, пока я на самом деле не получу результаты), но я думаю, что это очень неэффективный способ сделать это, так как в большинстве случаев выбор будет пустым. Если я делаю это часто, это чрезмерная нагрузка на сервер, если я делаю это редко, уведомления приходят очень поздно.
Поэтому мне было интересно, есть ли способ, например, чтобы запрос mysql блокировался до тех пор, пока не станет доступен результат, соответствующий условию.
list = query ("SELECT * FROM `notifications` WHERE `unread`=1") ;
вместо того, чтобы возвращать пустой список, если нет непрочитанных уведомлений, вместо этого он будет ждать, пока на самом деле будут непрочитанные уведомления, чтобы вернуть