假设我正在编写一个应用程序,需要从服务器实时获取通知,而这些通知存储在MySQL数据库中。为了获取它们,我必须不断轮询MySQL服务器(重复相同的select查询,直到实际获得结果),但我认为这是一种非常低效的方式,因为大多数情况下,选择会变为空。如果我经常这样做,对服务器的负担是不合理的,如果我很少这样做,通知将会来得很晚。所以我想知道是否有一种方法,例如MySQL查询可以阻塞,直到满足条件的结果可用。
list = query ("SELECT * FROM `notifications` WHERE `unread`=1") ;
如果没有未读通知,则不返回空列表,而是等待实际上有未读通知才返回。