Php 优化通知检查

Php 优化通知检查,php,javascript,optimization,Php,Javascript,Optimization,我正在制作一个带有通知系统的站点,在每个页面上运行AJAX来查询数据库中名为通知的表。我不想显示一个人的通知数量,只想显示类型。有4种类型。我目前有一个JSON,它只是获取类型列的唯一性,然后对每个类型进行检查 因为这将运行很多次,所以我想确保它得到了很好的优化。我猜一种方法是,在某人点击通知栏之前(即,在他们有机会清除其中一个通知之前),不要对新通知运行此检查 我还想知道,如果你认为对我来说,将每个类型都设为素数,然后在服务器端将它们相乘,而不是发送3个不同的整数,我会发送3个素数的乘积,然后

我正在制作一个带有通知系统的站点,在每个页面上运行AJAX来查询数据库中名为
通知
的表。我不想显示一个人的通知数量,只想显示类型。有4种类型。我目前有一个JSON,它只是获取类型列的唯一性,然后对每个类型进行检查

因为这将运行很多次,所以我想确保它得到了很好的优化。我猜一种方法是,在某人点击通知栏之前(即,在他们有机会清除其中一个通知之前),不要对新通知运行此检查

我还想知道,如果你认为对我来说,将每个类型都设为素数,然后在服务器端将它们相乘,而不是发送3个不同的整数,我会发送3个素数的乘积,然后检查每种类型,我只是对每种类型进行mod(%)。我还想知道你是否认为这可能会有所不同,但这是一个很小的问题,我不应该担心它。我只是担心,因为它会在每次页面加载时运行,不想让用户觉得网站运行缓慢

模式:

`notifications` 
(`id`,`from`,`to`,`type`,`optional_message`)

在这种情况下,最小化发送的数据量可能很小,但是考虑在将来添加更多的通知。如果您使用位掩码,您可以有大量不同的通知,但仍然发送微小的数据。比较一下开发成本和收益,因为您非常关心这个优化,所以我会选择位掩码

关于检查新通知的频率-如果用户拥有所有通知,显然不需要再检查。我考虑的另一个优化是改变更新的间隔。这意味着,如果用户有0个通知,我会检查,即每5秒左右检查一次,当他有1个通知时,我会每10秒检查一次,等等。我不知道这些通知代表什么,但通常收到很多通知意味着获得另一种不同类型通知的机会较低。你能提供更多的细节吗?我不确定情况是否如此

我还想知道,如果你认为我将每个类型都设为素数#,然后在服务器端将它们相乘会有什么不同(正数还是负数),这样就不用发送3个不同的整数,而是发送3个素数的乘积,然后检查每种类型,我只需对每种类型进行mod(%)。我还想知道你是否认为这可能会有所不同,但这是一个很小的问题,我不应该担心它

FFS!对于某些系统来说,这种多路复用很重要,但通常是通过对位字段进行ORing来实现的。但对于HTTP来说,这将节省的带宽量少得可笑。不用麻烦了

如果您真的需要对此进行优化,那么方法就是缓存数据服务器端(MySQL将使用半智能算法为您实现这一点)


由于每个键有四个实体,使用物化视图对数据进行非规范化将不会产生性能优势,除非te数据非常倾斜。

文本墙。下次使用段落是的,这听起来是个好主意,我不想只检查计时器,尽管人们会在后台离开网站,但计时器和点击新页面的组合会很好。不要使用位掩码,它不可能帮助你,你会浪费大量的时间而毫无益处。通过HTTP将位打包在一起是愚蠢的。此外,位屏蔽只会妨碍您以后添加新类型的通知。恢复了正常性。通过HTTP将位打包在一起是绝对疯狂的,并且不会有任何区别。无论哪种方式,您都会发送完全相同数量的数据包(可能是一个)。