Есть ли способ для MySQL дождаться вставки строк, соответствующих условию

Допустим, я пишу приложение, в котором мне нужно получать уведомления в реальном времени с сервера, и, допустим, эти уведомления хранятся в базе данных mysql. Чтобы получить их, мне придется постоянно опрашивать сервер mysql (повторять один и тот же запрос select но я считаю, что это очень неэффективный способ, так как в большинстве случаев select будет пустым. Если я делаю это часто, то это неоправданная нагрузка на сервер, если я делаю это редко, то уведомления будут приходить очень поздно. Поэтому мне интересно, есть ли способ, скажем, для запроса mysql блокировать его до тех пор, пока не появится результат, соответствующий условию.

list = query ("SELECT * FROM `notifications` WHERE `unread`=1") ;

вместо того, чтобы возвращать пустой список, если нет непрочитанных уведомлений, он будет ждать, пока не появятся непрочитанные уведомления, чтобы вернуться

6
задан Aleksandras Coldberg Ševčenko 15 August 2011 в 18:49
поделиться